JSON formatter and validator

Format, validate, sort or minify JSON. Unquoted keys, trailing commas and comments are accepted, so a pasted console log works as well as a strict file.

Indent
json
Formattedjson
The result appears here
Made something you like?Blocks that render this data

Questions

What does it accept beyond strict JSON?+

Unquoted keys, single-quoted strings, trailing commas, // and /* */ comments, and undefined or NaN as values. Strict parsing runs first, and the relaxed reading only steps in when it fails, so valid JSON is never reinterpreted.

What does sorting keys do to my data?+

It orders every object's keys alphabetically, at every depth, leaving arrays in their own order because their order carries meaning. It is what makes two versions of the same payload diffable.

Is the file uploaded to validate it?+

No. Parsing, formatting and minifying all happen in this tab, which is also why the tool keeps working with the network off once the page has loaded.

Why did my long numbers change?+

Because JSON.parse reads every number as a double, and past 2^53 the extra digits are lost. A tweet id or a Snowflake key comes back wrong by a few units and nothing warns you. Keep ids as strings on the wire; that is why every large API sends them quoted.

Does formatting change the data?+

Only the whitespace, with two exceptions worth knowing: a duplicate key collapses to the last one, because an object cannot hold both, and turning sorting on rewrites key order. Values, types and array order are untouched.

Related tools

The tools are free. So is most of the library.

1935 blocks and 989 pieces for shadcn/ui and Tailwind, built on the same tokens these tools write. Install one with a command and the code is yours.

No signup for the tools. MIT for free blocks, commercial licence for Pro.

Markdown version