Convert a Google Sheet to a Markdown table
Paste a Google Sheet URL and get a GitHub-flavored Markdown table back, ready to drop into a README, a pull request, a wiki page, or a prompt you are handing to an AI model.
The sheet must be shared with "Anyone with the link". Nothing is stored.
Key facts
- Google's API requires a Google Cloud project plus OAuth credentials or a service account before it will return a single row. source
-
Google's Sheets API is cell-oriented: it reads ranges like
A1:D50, not records. Reassembling those into row objects is work you do yourself. source -
The Google Sheets API allows 300 read requests per minute per project and 60 per minute per user. Past that it returns
429 RESOURCE_EXHAUSTED. source - It needs no Google Cloud project, no OAuth consent screen and no service-account JSON. You paste a share URL, and MCP is included on the Free plan.
How to convert a Google Sheet to Markdown
- 1 In Google Sheets, click Share, then set General access to Anyone with the link (Viewer is enough). If you skip this, the tool cannot read the sheet — check whether yours is public.
-
2
Copy the sheet URL from your browser's address bar. To use one specific tab, open that tab first so its
gidends up in the URL. - 3 Paste it above. The header row becomes the table header, and every row below becomes a table row.
- 4 Copy the Markdown and paste it wherever you need it.
What the output looks like
The output is a GitHub-flavored Markdown table, which renders on GitHub, GitLab, Notion, Obsidian and most static-site generators:
| name | role | active |
| --- | --- | --- |
| Ada Lovelace | Engineer | true |
| Grace Hopper | Admiral | true |Pipes inside a cell are escaped
This is the thing hand-rolled converters get wrong. A literal | in a cell value ends the column early, so the table silently renders with the wrong number of columns from that row down. Every pipe in your data is escaped to \| on the way out, and newlines inside a cell are collapsed to spaces, because a Markdown table row cannot span lines.
Feeding a sheet to an AI model
A Markdown table is a reasonable way to hand a small sheet to an AI model in a prompt — it is compact and models read it well. It stops working as soon as the sheet is big, changes, or needs to be queried rather than read whole.
At that point stop pasting and give the model the sheet itself: a PasteSheet endpoint doubles as a read-only MCP server, so Claude, Cursor or ChatGPT can list its tabs, read its schema and query rows on demand. See the MCP guide.
What a live endpoint costs
Nothing, to start. The Free plan gives you 3 endpoints and 2,000 requests a month, with MCP included and no credit card. The tool above stays free and unlimited either way.
Free
For side projects and trying things out.
- Endpoints
- 3
- Requests / mo
- 2,000
- Row cap
- 500
- MCP for AI agents
Frequently asked questions
Does my Google Sheet need to be public?
It needs to be readable by anyone with the link. In Google Sheets, click Share and set General access to "Anyone with the link". A sheet left as "Restricted" cannot be read by this tool, or by anything else that has not been explicitly granted access to it.
Can I use one specific tab?
Yes. Open the tab you want in Google Sheets and copy the URL from the address bar — it will contain a gid parameter identifying that tab. Paste that URL and the tool reads that tab rather than the first one.
Do you store my sheet or its data?
No. The rows are fetched, converted and handed back to you. The result is cached for about a minute so that a reload does not re-hit Google, and then it is gone. Nothing is written to a database and nothing is shared with anyone.
What happens to a pipe character in my data?
It is escaped to \| so it does not break the table. An unescaped pipe inside a cell terminates the column early, which silently corrupts every row after it — this is the single most common bug in hand-rolled Markdown table converters.
Is this table format compatible with GitHub?
Yes. The output follows the GitHub Flavored Markdown table extension, which is also what GitLab, Notion, Obsidian and most static-site generators implement. Paste it into a README or a pull request and it renders.
Sources
- Authorize requests — Google Sheets API — Google
- Usage limits — Google Sheets API — Google
- Publish a file from Google Docs, Sheets, Slides or Forms — Google Docs Editors Help
- GitHub Flavored Markdown Spec — Tables — GitHub
Related tools
Free Google Sheets to JSON Converter
Paste a public Google Sheet URL and get clean, formatted JSON instantly. No signup, no API key, and no Google Cloud project. Copy it, download it, or go live.
CSV to Markdown Table Converter (Free)
Paste CSV and get a GitHub-flavored Markdown table for a README, docs, or an AI prompt. Pipes inside your cells are escaped so the table cannot break.
Google Sheets to CSV Converter (Free)
Paste a Google Sheet URL and download it as clean, RFC 4180 CSV — no Google account, no sign-in, and no export menu. Works on any sheet shared with a link.
Turn your sheet into an API in minutes
Paste a Google Sheet URL and get a live REST API and MCP server — no backend, no code, free to start.