Paste messy JSON, get it readable — or squeezed flat. Invalid input tells you exactly where it broke.
Validation runs your text through the browser's own JSON.parse, so what passes here is exactly what a JavaScript runtime will accept. Formatting then re-serialises the parsed value with your chosen indent, which has a useful side effect: comments, trailing commas and single-quoted keys are rejected rather than quietly reformatted, because none of them are legal JSON.
When parsing fails, the browser reports a character offset. That offset is converted into a line and column so you can jump straight to the problem instead of counting characters.
No. Parsing and formatting both happen in your browser, which matters when the payload contains customer data, tokens or anything else you would rather not paste into a remote service.
The usual culprits are a trailing comma after the last item, comments, single quotes instead of double quotes around keys and strings, or unquoted keys. All four are valid JavaScript but invalid JSON.
Only whitespace and key formatting. Values are preserved, though very large integers beyond JavaScript's safe range can lose precision on the way through — a limit of the language, not this tool.
Removing whitespace shrinks payloads over the network. On large API responses or config bundles the saving is often 15–30%, and the byte count above shows exactly what you gained.