JSONBench

JSON that tells you what is wrong

Not "Unexpected token }". A line number, and a sentence explaining the actual mistake. Nothing leaves the tab.

Network measuring… Your data never leaves this tab

The error message is the product

Every JSON validator can tell you a document is invalid. The useful part is where and why, and that is where most of them stop trying. A browser's native message — "Unexpected token }" — names a symptom several characters after the actual mistake, and the mistake is nearly always one of about six things.

So the failures here are diagnosed structurally: the page looks at the characters around the fault rather than trying to interpret the engine's wording. A comma sitting before a closing bracket is reported as a trailing comma. An unbalanced document is reported with a count of what is still open. A key without quotes is named as a key without quotes. That also makes the diagnosis stable — browsers have quietly rephrased these messages more than once, and pattern-matching them is a bug waiting to happen.

A trailing comma is far and away the most common cause, because it is valid JavaScript and invalid JSON. If you built the document by hand or by string concatenation, check the last item of every array and object first.

Why nothing is uploaded

Several of the best-known JSON tools send your document to their server to process it. For a toy payload that is harmless. For the actual use case — pasting an API response while debugging — it means customer data, internal identifiers and sometimes bearer tokens leave your machine and land in someone else's logs.

There is no technical reason for it. Parsing and re-serialising JSON is something the browser does natively and instantly. This page makes zero network requests after it loads, which you can confirm in ten seconds with the Network tab.

Questions

Is my JSON sent to a server?
No, and this is not a small point: several of the most popular JSON formatters POST your document to their backend to process it. If you are pasting a production API response — with real customer records, tokens or internal IDs in it — that is a data disclosure you did not intend. This page makes no network request at all. Open the Network tab and paste a document; nothing happens.
Why are the error messages different from other validators?
Because "Unexpected token }" tells you nothing useful. Every failure here is resolved to a line and column and then explained in plain English — a trailing comma is named as a trailing comma, an unclosed brace is counted, an unquoted key is identified as one. The checks look at the actual characters around the fault rather than pattern-matching the browser's wording, which differs between engines and changes between versions.
How large a document can it handle?
Comfortably into the megabytes. Above 8 MB it refuses rather than locking up your tab, which is a deliberate choice — a formatter that freezes the browser on a big paste is worse than one that says no. Display is capped at 5,000 lines; the full document is still what gets copied.
Does formatting change my data?
It reorders nothing and drops nothing, but it does normalise: numbers are re-serialised in their canonical form, so 1.50 becomes 1.5 and 1e3 becomes 1000. Very large integers beyond JavaScript's safe range lose precision — that is a limitation of the language's number type, not of this page, and it affects every browser-based JSON tool identically.
What is the minify option for?
Stripping whitespace before sending JSON over the wire or embedding it in a config. On a large document it typically saves 15–30%, which matters in an API response and not at all in a file you are reading.