What this converter does not do
It parses strict JSON and nothing looser. A few things fall outside that.
No relaxed syntax
Single quotes, unquoted keys, trailing commas and comments are reported as errors. The tool does not repair them.
Large numbers lose digits
Numbers pass through JavaScript, so an integer beyond 9007199254740991 or a very long decimal comes back rounded.
Duplicate keys collapse
When an object repeats a key, only the last value is kept, as JSON.parse does.
Numeric keys move to the front
JavaScript lists keys that are whole numbers first, in numeric order, so an object with such keys comes back reordered.
A string of digits stays a string
The value "123" is kept as a string. Only a string that holds an object, an array or another quoted string is unwrapped.
Related tools
Frequently asked questions
No. Parsing and formatting use the JSON functions built into your browser, in this tab. The tool downloads no library and no request carries your text.
It is JSON that was turned into a string more than once, so its quotes carry one or more backslashes. The tool keeps parsing until it reaches an object or an array, for up to 10 layers.
The text breaks a JSON rule at the position shown. Common causes are single quotes, a trailing comma, an unquoted key, or a string cut off before its closing quote.
Sort keys A to Z puts the keys of every object in alphabetical order at every level, with uppercase letters before lowercase ones. Keys that are whole numbers come first, in numeric order. Array order is never changed.
A file you open can be up to 10 MB. Pasted text has no fixed limit, but above 500,000 characters the conversion runs only when you click the button.
Your text stays on your device
Your browser's own JSON functions parse the string in this tab. Nothing you paste or open is sent anywhere, and the tool downloads no library to do its work.