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.
| Check | Expected | Best JSON Formatter | jsonformatter.org | JSON Editor Online |
|---|---|---|---|---|
Duplicate keys | Retain every occurrence and warn | Pass | Fail · earlier values disappear | Pass with a duplicate-key warning |
9007199254740993 | Keep the exact integer | Pass | Fail · rounds to 9007199254740992 | Pass |
1.2300e-40 | Keep the original number token | Pass | Fail · notation is normalized | Pass |
9E+400 | Keep the valid JSON number token | Pass | Fail · value becomes null | Pass |
"\u0061\/b" | Keep the original escape spelling | Pass | Fail · escapes are decoded or rewritten | Fail · 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.