How to use
- Paste or type JSON into the input panel.
- Pick an indentation (2 spaces, 4 spaces or tab) and click Format.
- If there is a syntax error, the message shows the line and column of the problem.
- Use Minify to strip all whitespace and line breaks.
- Switch to Tree view to expand and collapse objects and arrays.
- Copy the result or download it as a .json file.
Use cases
- Inspecting REST API and webhook responses during development.
- Finding trailing commas, single quotes or unclosed braces in config files.
- Minifying payloads before embedding them in environment variables or requests.
- Exploring large NoSQL documents by browsing the tree.
Technical concepts
What makes JSON valid
RFC 8259 requires double-quoted keys and strings, no trailing comma after the last item and no comments. Allowed values are object, array, string, number, true, false and null. Habits carried over from JavaScript, such as single quotes, unquoted keys and undefined, make a document invalid.
Formatting versus minifying
Formatting adds line breaks and indentation for humans without changing the data. Minifying removes every insignificant whitespace character to shrink transfers. Both run a full parse and serialization, so they also validate the document.
Number precision
The browser's native parser stores numbers as 64-bit IEEE 754 floats. Integers above 2^53 − 1 (9,007,199,254,740,991) lose precision when reformatted; very large IDs should travel as strings.
Frequently asked questions
Is my JSON sent to a server?
No. Parsing and formatting use the browser's own JSON.parse and JSON.stringify. No data leaves your machine.
Why is my JSON with comments invalid?
The JSON standard does not allow comments. Formats such as JSONC or JSON5 do, but they must be converted before a strict JSON parser can read them.
What is the maximum size?
The limit is your browser's memory. Multi-megabyte files format fine; the tree view only opens the first two levels to keep the interface responsive.
Does formatting change the key order?
No. Insertion order is preserved, except for integer-like keys, which JavaScript sorts in ascending order by specification.