A JSON formatter you can trust
Paste JSON on the left and you will know right away if it is valid. When something is wrong you get the exact line and column and a clear explanation. You can format with 2 spaces, 4 spaces or tabs, minify, sort keys alphabetically or escape non-ASCII characters.
- Lossless. Big integers and numbers like
1.50or1e10stay exactly as written. - Repair. Fixes comments, trailing commas, single quotes, unquoted keys and missing commas.
- Tree view. Collapse, expand, filter and copy the JSONPath of any value.
- Convert. YAML, XML, CSV and TypeScript interfaces.
- Private. Everything runs in your browser. Drop a file, load a URL or just paste.
Frequently asked questions
Is my data sent to a server?
No. Parsing, formatting and conversion run entirely in your browser. Nothing you paste is uploaded. History and preferences are saved only in this browser's local storage.
Why are my large numbers preserved?
Most online formatters use JSON.parse, which silently rounds very large integers. An ID like 12345678901234567890 comes back changed. This formatter keeps every number exactly as you wrote it.
What does “Repair” fix?
It removes comments and trailing commas, converts single quotes, adds quotes to keys and adds missing commas between values. It also turns Python values like True, False and None into JSON. The button only shows up when the input can be repaired safely.
How is JSON converted to CSV?
An array of objects becomes one row per object. Nested objects become columns like user.name and arrays are stored as JSON inside the cell. Fields are quoted following RFC 4180 and you can pick comma, semicolon or tab as the delimiter.
Does it detect duplicate keys?
Yes. JSON.parse keeps only the last value of a duplicated key without warning. This tool highlights every duplicate with its path so you can fix it.
Made by isaackeitor