JSON for Sheets turns JSON into a clean Google Sheets table.
JSON for Sheets is a Google Sheets add-on that lets you paste JSON, open a local .json file, read JSON from a cell, or make a public or authenticated API request, preview the fields and rows, and insert the result as structured spreadsheet columns. No script or Codeprint API key to configure.
Why JSON for Sheets requests Google access
During interactive use, the add-on reads and writes the Google Sheets file you have open. If you explicitly enable a refresh schedule, it can reopen only the spreadsheet where you saved that import. Pasted JSON, local .json files, formula parsing, and range-to-JSON export stay inside the Google add-on session and are never sent to Codeprint. Remote API imports go through our service so quotas and URL safety checks can be applied. Each preview fetches the source again; response bodies are processed in memory and are not retained in a response cache or logged in full.
Read the privacy policy →From an endpoint to columns you can pivot.
Point it at the data
Paste JSON, open a local .json file, read it from a cell, enter a public URL, or build an authenticated GET, POST, PUT, PATCH, or DELETE request. Remote requests run only from the sidebar or an authorized saved schedule.
Choose the shape
Filter and select the fields you want, pick how nested arrays behave, and read the exact row and column count before anything is written.
Write it where you want
Overwrite the managed range, append rows, or update-or-append by a unique key. Saved remote imports refresh manually on Free or automatically on paid plans.
Nothing to install to see how it works.
Nested arrays, decided by you.
Most importers guess what to do with an array inside a record, and you find out after it has written 4,000 rows. Pick the behaviour first and see the result in the preview. Source record: {"id":8842,"tags":["rush","gift"]}
JSON out, as well as in
Select a range with a header row and get an array of objects back — for a webhook body, a config file, or an API you are testing. Array, object, and row-array shapes, compact or pretty.
The local toolbox is unmetered
Validating, formatting, querying, flattening, inspecting a schema, and converting between JSON and tables all run inside the spreadsheet. No sign-in, no request count, no data leaving the sheet.
The short version
Do I need an API key from you?
No Codeprint API key is required. If the upstream API needs a token, API key, or Basic credentials, save it as an encrypted connection.
What counts as a request?
One fresh upstream fetch that returns valid JSON. Failures, blocked URLs, local files, and every local function are free. Free includes five successful fetches per UTC day; paid allowances reset monthly. See the exact rules →
Do pasted JSON or local files leave the sheet?
No. Pasted JSON, local-file JSON, their local previews, formulas, and range-to-JSON export stay inside the Google add-on session. Remote URL previews and imports pass through our service.
Where do my tokens live?
Saved credentials are encrypted in Supabase Vault. The add-on sees only masked connection details; the secret is resolved server-to-server for the request.
Can imports refresh themselves?
Yes. Save a remote import after writing it. Starter supports daily and weekly schedules; Pro also supports hourly schedules. Free saved imports can be run manually.
Will it overwrite my other columns?
Each import tracks the range it manages and asks before touching existing data outside it. Overwrite replaces and clears stale cells only inside that managed range; upsert preserves managed rows missing from the latest response.
Try it on your next awkward endpoint.
Five external fetches every day, unlimited local tools, no card.