Reproducible research

Does your JSON formatter silently change data?

This test checks whether formatting preserves duplicate properties, integers outside JavaScript's safe range, exponent notation, overflow, and the original spelling of escaped strings.

Observed results

Recorded July 26, 2026 in Chromium on the same machine and viewport. Each product received the same two downloadable files through its normal formatting workflow in five fresh browser contexts. Pass means the resulting text retained the exact source token or every duplicate occurrence.

CheckExpectedBest JSON Formatterjsonformatter.orgJSON Editor Online
Duplicate keysRetain every occurrence and warnPassFail · earlier values disappearPass with a duplicate-key warning
9007199254740993Keep the exact integerPassFail · rounds to 9007199254740992Pass
1.2300e-40Keep the original number tokenPassFail · notation is normalizedPass
9E+400Keep the valid JSON number tokenPassFail · value becomes nullPass
"\u0061\/b"Keep the original escape spellingPassFail · escapes are decoded or rewrittenFail · escape spelling is rewritten

These are bounded workflow observations, not a claim about every feature or future version of another product. Re-run the fixtures before relying on the table.

Download the exact fixtures

Why ordinary object parsing fails this test

Converting text into a JavaScript object before formatting collapses repeated property names and stores every number as an IEEE 754 double. Once that conversion happens, the formatter cannot recover discarded values or the original token spelling.

Best JSON Formatter tokenizes and serializes the document losslessly in a browser worker. It can therefore format whitespace while retaining the original keys, number tokens, strings, and escape sequences.

Run the focused checks

Use the duplicate-key checker or number-precision checker to inspect your own document locally.