Free · no sign-up · zero upload
JSON Formatter & Validator
Pretty-print, minify or validate any JSON payload without sending a single byte to a server — perfect for payloads holding API keys, tokens or customer data. When something is broken you get a plain-English verdict with the exact line and column.
Format, minify or validate
Runs locally — this tab never talks to a server.
Result
Paste or type JSON on the left and the formatted result lands here.
Tip: press Ctrl / Cmd + Enter to format immediately.
How it works
Three steps, no upload, no account.
Drop JSON into the box on the left. The verdict and the formatted result update about a fifth of a second later — no button required.
Pick Pretty print with 2, 4 or 8 spaces (or a tab), Minify to strip every optional byte, or Validate only to check without producing output.
The output pane is line-numbered and read-only. Hit Copy for the whole result, or Copy after Minify when you need the smallest payload.
Built for payloads you would rather not upload
Parsing, formatting and validation run in plain JavaScript in your browser. There is no API call, no analytics on your payload and no server round-trip — safe for tokens, customer records and internal configs.
Instead of a cryptic parser dump, the scanner points at the first problem and explains it: trailing comma before a closing brace, missing comma between members, single-quoted key, unquoted key, unterminated string, invalid escape, leading zero. Line, column and a caret snippet are always included.
You get the detected root type (object, array, string, number, boolean or null) plus character and UTF-8 byte counts for both input and output, so you can see exactly how much Minify saved. Integers longer than 15 digits are flagged because every JavaScript parser rounds them.
FAQ
Is my JSON uploaded anywhere?
No. The whole workbench is client-side JavaScript, so the text stays in the tab. You can even paste an API key or a customer record — but if you want certainty, disconnect from the network and the tool keeps working.
Why can't I use comments, single quotes or a trailing comma?
Those belong to JSON5, JSONC and JavaScript object literals, not to the JSON standard (RFC 8259). This tool validates strict JSON, so // comment, 'key' and a comma before } are reported as errors with the exact spot.
My ID changed after formatting — what happened?
JavaScript numbers are IEEE-754 doubles, so integers above 2^53 (about 15-16 digits) lose precision. A banner warns you when it sees one. Keep those values as JSON strings (quoted) if the exact digits matter.
Is there a size limit?
5 MB of text per paste, which keeps the tab responsive. Larger files are rejected with a clear message rather than freezing the browser.
Can it format newline-delimited JSON (NDJSON)?
One document per run: a stream of records is reported as extra data after the first value. Paste a record at a time, or wrap the records in an array with square brackets first.