Free online JSON tools
Paste JSON below and it is formatted and checked as you type. If you need something other than formatting, there are 99 more tools here — converters, a real jq playground, diff and patch, JSON Schema, and type generators for a dozen languages. None of them upload anything: the parsing happens on your machine, in this page.
Pick a job
Ten to start with
Or see all 99 tools on one page — press / anywhere to search them.
What usually goes wrong with JSON
Most visits here start with a parse error, and there are only about six
causes worth knowing. Trailing commas and comments
are legal in JavaScript and in JSON5, and illegal in
JSON — which is why a config file copied out of a tsconfig.json fails.
Single quotes and unquoted keys come from pasting a
JavaScript object literal. Curly quotes come from a document editor
silently replacing ". All four, plus a few more, are what
JSON repair exists to undo in one pass.
Two more are subtler because the document parses fine and is still wrong.
A 64-bit id such as 9007199254740993 loses its last
digits the moment JavaScript reads it, silently, and you find out when a
lookup misses — number precision lists every
value in a document at risk. And key order is not meaningful in
JSON, so two services serialising the same object produce files a text diff
calls different; sorting keys first, or using a
semantic diff, is what makes the comparison mean something.
Everything runs in your browser
There is no server-side processing on this site. The page loads, and from then on every tool is JavaScript in your tab using your own CPU. That is not a privacy slogan, it is the architecture: there is no upload endpoint to send a document to, which is why you can paste a production payload with real customer records in it, and why the tools keep working after you disconnect.
The limits are your browser's rather than ours. Documents past roughly 50 MB make a textarea sluggish — drop the file onto the page instead of pasting it — and past a few hundred megabytes the tab will run out of memory. Nothing is metered, rate-limited or held back for a paid tier, because there is no per-use cost on our side to meter. The privacy page says what the server does see, which is page requests and nothing else.
A free account, if you want one
Every tool works signed out, exactly as it always has, and an account gates nothing. What creating one does is remember things between browsers: the tools you star, the ones you used recently, and saved presets per tool, so that the column selection you set up on JSON → CSV is still there on your laptop tomorrow. It stores preferences, never documents — the JSON you paste is never sent anywhere, with or without an account.
FAQ
Is any of this actually free, or is there a paid tier later?
All 99 tools are free and none are limited. The tools run on your computer rather than ours, so there is no per-conversion cost to recover. There is no paid tier, no file-count cap, and no watermark.
Do you see the JSON I paste?
No. There is no endpoint that receives it. The document is read by JavaScript in your tab and never leaves it — you can verify this by opening your browser's network panel while you use a tool, or by disconnecting from the network and watching the tools keep working.
Which JSON Schema draft do these tools use?
Draft 2020-12 by default throughout. Drafts 04, 06, 07 and 2019-09 are selectable on the validator, the generator and the draft migrator, because the differences between them are real and sometimes you are stuck on an old one.
Why are there separate pages for each direction of a conversion?
Because the options that matter are different. Going from JSON to CSV, the question is how to flatten nesting and which columns to keep; coming back, it is which strings to read as numbers, booleans or nulls. One page with a swap button would hide half its controls at any moment.
Is there an API?
Not yet. Everything here is client-side, so there is no service to call — an API would be a different product rather than an endpoint on this one. If you want one, say so; that is how the queue gets ordered.
— S., [email protected]