# 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.

*Last updated: 2026-07-14 · Source: <https://pastesheet.com/tools/google-sheets-to-markdown>*

## Using this without the browser

This page hosts an interactive tool: at <https://pastesheet.com/tools/google-sheets-to-markdown> you paste a Google Sheet URL and it returns the result in the page. There is nothing to install and no account required.

If you are an agent or a script and need this programmatically instead, connect the sheet once as a PasteSheet endpoint and read it over HTTP — the endpoint returns the same rows as JSON, stays in sync with the sheet, and needs no Google credentials:

```bash
curl 'https://pastesheet.com/api/your-endpoint-id?limit=10'
```

The same endpoint is also a read-only MCP server at `https://pastesheet.com/mcp/sheets/your-endpoint-id`, exposing `list_tabs`, `get_schema` and `query_rows`. See <https://pastesheet.com/guides/google-sheets-mcp.md>.

## 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](https://developers.google.com/workspace/sheets/api/guides/authorizing))
- 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](https://developers.google.com/workspace/sheets/api/limits))
- 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](https://developers.google.com/workspace/sheets/api/limits))
- 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](https://pastesheet.com/tools/google-sheet-public-checker).
2. Copy the sheet URL from your browser's address bar. To use one specific tab, open that tab first so its `gid` ends 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](https://github.github.com/gfm/#tables-extension-) table, which renders on GitHub, GitLab, Notion, Obsidian and most static-site generators:

```bash
| 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](https://pastesheet.com/guides/google-sheets-mcp).

## 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 — $0/month.** For side projects and trying things out.

- Endpoints: 3
- Requests: 2,000 / month
- Rows per endpoint: 500
- Tabs per endpoint: 1
- Rate limit: 60 / minute

## 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](https://developers.google.com/workspace/sheets/api/guides/authorizing) — Google
- [Usage limits — Google Sheets API](https://developers.google.com/workspace/sheets/api/limits) — Google
- [Publish a file from Google Docs, Sheets, Slides or Forms](https://support.google.com/docs/answer/183965) — Google Docs Editors Help
- [GitHub Flavored Markdown Spec — Tables](https://github.github.com/gfm/#tables-extension-) — GitHub

## Related tools

- [Free Google Sheets to JSON Converter](https://pastesheet.com/tools/google-sheets-to-json) — 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)](https://pastesheet.com/tools/csv-to-markdown-table) — 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)](https://pastesheet.com/tools/google-sheets-to-csv) — 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.

---

[PasteSheet](https://pastesheet.com) turns any Google Sheet into a live REST API and MCP server for AI agents — no backend, no code. Canonical HTML version of this page: <https://pastesheet.com/tools/google-sheets-to-markdown>
