Convert a Google Sheet to JSON
Paste a Google Sheet share URL and get its rows back as formatted JSON — every row an object, keyed by your header row. It runs in about a second, it is free, and there is nothing to sign up for.
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 JSON
The only requirement is that the sheet is readable by anyone with the link. Nothing else — no Google account, no credentials, no extension.
- 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 and hit convert. The first row is read as the field names; every row below becomes a JSON object.
-
4
Copy the JSON, or download it as a
.jsonfile.
What the output looks like
A sheet with the columns name, role and active converts to an array of objects — one per row, keyed by the header row:
[
{
"name": "Ada Lovelace",
"role": "Engineer",
"active": "true"
},
{
"name": "Grace Hopper",
"role": "Admiral",
"active": "true"
}
]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.
That endpoint is also a read-only MCP server, so Claude, Cursor or ChatGPT can query the sheet directly — filtered, sorted and paginated — instead of you pasting an export into the chat. See the REST API guide or 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
Is this Google Sheets to JSON converter free?
Yes — completely, with no signup and no row limit on the tool itself. You paste a URL and get JSON back. There is nothing to unlock and no email address to hand over first.
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 do I keep the JSON in sync with the sheet?
You cannot, with a one-off conversion — a downloaded file is a snapshot and goes stale the moment the sheet changes. That is what PasteSheet does: it gives the sheet a permanent JSON URL that re-reads it on a schedule you set, so the data served there is always current.
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
Related tools
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.
Google Sheets to TypeScript Types Generator
Generate a TypeScript interface from a Google Sheet. Column names become properties, types are inferred from your actual data, and it is free with no signup.
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.