The only JSON formatter that explains errors in plain English. Format, validate, minify, explore as a tree, and query with JSONPath — all running privately in your browser.
Your JSON parses cleanly. Ready to copy, download, or explore as a tree.
No saved JSON yet. Format something and click Save in the toolbar to keep it here.
Error Dictionary
The 9 errors that trip up almost every developer — what they really mean, and the one-line fix. Click any card to load a broken example into the formatter.
You left a comma after the last item. Legal in JavaScript, illegal in JSON.
{"name":"alice"} ← no commaJSON only allows double quotes. Single quotes are a JavaScript habit.
{"name":"alice"}Object keys must be wrapped in double quotes — even if they look like identifiers.
{"name":"alice"}Standard JSON does not allow // or /* */ comments at all.
You opened a { or [ but never closed it. Often happens when copying partial responses.
Numbers can have only one decimal point. Also: no leading zeros, no NaN, no Infinity.
JSON can only hold strings, numbers, booleans, null, arrays, and objects. No functions, no new Date(), no undefined.
A double quote inside a string value must be escaped with a backslash.
"hello \"world\""One file = one JSON value. For multiple objects, wrap them in an array [...].
What makes it different
Built for developers who want answers, not "Unexpected token at position 47."
Every error gets a human explanation plus a copyable fix. No more cryptic stack traces from JSON.parse.
"Trailing comma at line 5"Click any key to copy its JSONPath. Collapse deeply nested objects so you can navigate API responses sanely.
Click → $.users[0].email copiedPull values from anywhere in a giant JSON without scrolling. Test queries before pasting them into your code.
$.products[*].priceOther formatters POST your JSON to a server. Ours parses everything client-side. Your API keys and PII stay on your machine.
0 network requests · verifiedMost JSON tools are desktop-only afterthoughts. Ours adapts to phones — paste, format, tap to copy.
Responsive · touch-friendlyThree tools in one — toggle modes without losing your data. History panel keeps your last 10 inputs.
No reload · no relogin · everQuick guide
Under 30 seconds. Works with broken JSON, minified blobs, API responses, and config files.
Paste raw JSON in the left panel, or drag a .json file anywhere on the page.
Valid JSON formats live on the right. Invalid JSON shows a plain-English explanation of what broke.
Change between 2 spaces, 4 spaces, or tabs. Sort object keys alphabetically with one click.
Copy to clipboard, download as .json, switch to tree view, or pull values with JSONPath.
FAQ
Everything developers ask about formatting, validating, and working with JSON — explained without jargon.
Ask a question$ is the root, . drills into an object, [0] picks the first item of an array, and [*] matches all items. So $.users[0].email grabs the email of the first user, and $.products[*].price grabs every product price. Type a query in the bar above and the result appears live.
.json files up to several megabytes and they format instantly in modern browsers. Very large files (50MB+) may make the tree view slow, but formatting, validation, and JSONPath remain fast. For huge files, switch to Minify mode — it has no rendering overhead.
RFC 8259 JSON specification — no comments, no trailing commas, no unquoted keys. That matches what JSON.parse accepts in browsers and Node.js. JSON5 (relaxed superset), JSONC (with comments), and NDJSON (one JSON per line) are on the roadmap. Vote for which one you need most.