QUBU / DEVELOPER TOOLS
Make your data readable.
Format JSON, locate errors and compare two versions. Data is processed only in your browser.
1 MiB per input · 20,000 values · 100 nested levels. Comments and trailing commas are not accepted.
Paste JSON or load the example to start.
Result
Read, validate and compare JSON data
JSON is a text format used for game saves, configuration files and API responses. This tool adds readable indentation, removes formatting whitespace and compares two documents. Formatting and tree view use input A; comparison uses both A and B.
Inspect a game save
Load example opens two player records. The level changes from 8 to 9, a potion leaves the inventory and online status changes. Compare reports those three changes at separate paths. The player ID 9007199254740993 stays exact when formatting; a warning explains that it exceeds JavaScript’s safe integer range.
How to use it
- Paste JSON into A or select a UTF-8 file.
- Choose Format & validate for two- or four-space indentation. Minify removes formatting whitespace without changing spaces inside strings.
- Tree view lists nested fields using JSON Pointer paths. Enter a path or value in search, then run Tree view again.
- Put a second version in B and compare. Copy or download the formatted JSON output.
What counts as a difference?
Object key order is ignored. Arrays are compared by index, so inserting an element at the start may produce several position changes. Numbers 1, 1.0 and 1e0 compare equal; the string "1" does not. Decimal digits are compared without floating-point rounding. An empty path denotes the root; /inventory/1 denotes the second inventory item. In paths, ~1 represents a slash and ~0 a tilde.
Errors and data handling
Missing quotes, invalid escapes, comments and trailing commas are rejected. Errors show one-based line and column numbers, with columns counted in UTF-16 code units. Duplicate object keys are also rejected to prevent a reader silently keeping only the last value. This is an interoperability restriction beyond basic JSON syntax.
Files are not uploaded or saved to browser storage. Formatting preserves number spelling, key order and string escapes. A UTF-8 BOM may be stripped when reading a file; a pasted BOM is reported as an invalid character. Downloads contain UTF-8 JSON.
Limits
Each input is limited to 1 MiB, 20,000 values and 100 nested levels. Work runs in a background worker and stops after five seconds. Tree and search show at most 500 rows; comparison reports the first 500 differences and labels partial results. Cell previews are shortened; full formatted downloads are unaffected by that preview limit. JSON Schema, JSON5, comments, automatic repair and merging are not supported.
What does validation not guarantee?
Valid syntax does not mean a document has the fields your game expects. Validate application rules, such as allowed player levels, in your own software. Other applications may round large numbers after you import the downloaded JSON.
References and related tools
See RFC 8259 for the format and JSON Pointer for paths. Generate atlas coordinates with the Sprite Sheet Generator, or browse QUBU Tools.
