Convert a Google Sheet to CSV
Google can already export a sheet you own to CSV. This is for the case it does not cover: a sheet you have a link to but are not signed in for, or a sheet you want to pull from a script without an account.
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.
Why use this instead of File → Download?
If the sheet is yours and you are signed in, use Google's own export — File → Download → Comma-separated values. It is right there and it works.
This tool exists for what that menu cannot do. You are not signed into the account that owns the sheet. You only have a share link. You want the CSV from a script, a server or a CI job where there is no browser to click a menu in. Or you want a URL that always returns the current CSV rather than a file that ages the moment somebody edits a cell.
How to convert a Google Sheet to CSV
- 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 rows come back as CSV, quoted and escaped per RFC 4180 — commas, quotes and newlines inside a cell are handled properly.
-
4
Copy it, or download it as a
.csvfile.
Why not just use the Google Sheets API?
You can, and inside an existing Google Cloud project it may well be the right call. But for simply reading a sheet the setup cost is steep and almost entirely incidental: you need a Cloud project, then OAuth credentials or a service account, before the API returns a single row.
What comes back is not the shape you want either. Google's API is cell-oriented — you ask for a range like A1:D50 and get a grid of values. Turning that grid into records keyed by your header row is work you do yourself, every time.
This tool skips both. It reads the sheet's published CSV, treats the first row as field names, and hands you records. That is why it needs no key: it never touches Google's authenticated API at all.
A snapshot is not an API
What you get above is a snapshot: it reflects the sheet as it is right now. Edit a cell and the file you downloaded is out of date, and you run the conversion again. A PasteSheet endpoint is the same data at a URL that stays current — it re-reads the sheet on your schedule and serves whatever is in it now, so your app or AI agent never reads a stale export.
If what you actually want is structured records rather than a flat file, convert the sheet to JSON instead.
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
Why not just use File → Download → CSV in Google Sheets?
Use it if you can. This tool is for when you cannot: you are not signed into the owning account, you only hold a share link, or you need the CSV from a script or server where there is no menu to click. It also gives you the option of a URL that stays current instead of a file that goes stale.
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.
How are commas and quotes inside a cell handled?
Per RFC 4180, which is the CSV convention Excel, Google Sheets and virtually every parser follow. Any value containing a comma, a double quote or a newline is wrapped in double quotes, and literal double quotes inside a value are doubled. It round-trips cleanly.
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
- RFC 4180 — Common Format and MIME Type for CSV Files — IETF
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.
Google Sheets to Markdown Table Converter
Turn a Google Sheet into a Markdown table for a README, a doc, or an AI prompt. Free, instant, no signup — pipes inside your cells are escaped for you.
Is My Google Sheet Public? Free Checker
Paste a Google Sheet URL to check whether it is publicly readable. See exactly what an app, script, or API sees — and get the fix if the sheet is still private.
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.