Turn API Responses into Inspectable Data
- Paste JSON or import a UTF-8 file, and check strict validation status first. Syntax errors or duplicate keys display precise row and column locations for one-click navigation.
- Format, minify, or recursively sort object keys as needed. Operations generate on the right, keeping original text on the left; "Replace Original" can be undone.
- Use structure tree to inspect fields, copy JSON Pointer or field values. Disable real-time formatting during comparison, then paste another API response on the right.
- Confirm data before exporting JSON; product tables can be exported to CSV for further spreadsheet analysis.
Why check large integers and duplicate keys?
Order IDs, Java longs, precise decimals, and large exponential values may be altered by standard JavaScript number parsing. This workbench uses lossless-json to preserve original numeric formats—for instance, 9123372036854000123, 2.370, and 2.3e500 remain intact after processing. Tree views, key sorting, diffing, and exports all utilize this high-precision data protection.
Duplicate keys in an object may be silently overwritten by standard parsers. Duplicate keys within the same object are flagged here as validation errors, locating the second occurrence; identical keys across different objects are normal. JSON object key sorting follows Unicode code unit order; numerical keys are sorted as text strings.
Strict JSON, JSON5, and JavaScript Objects
This tool accepts strict RFC 8259 JSON. Comments, single quotes, unquoted keys, trailing commas, NaN, Infinity, and hexadecimal numbers are not strict JSON. JSON5 supports some extensions, but they are not automatically fixed or converted here. This tool does not use eval and does not execute inputs.
Frequently asked questions
Why are 1 and 1.0 marked as different?
Diff comparison preserves original number formatting to highlight precision and serialization changes. Object key order is ignored; arrays are compared strictly by index without speculative object matching.
Is the path JSONPath?
Standard JSON Pointer is used here: an empty path represents the root value, and /products/0/sku represents the sku of the first object in the products array. Slash / in keys is written as ~1, and ~ as ~0; JSONPath wildcards and filter expressions are not supported.
Will flattening CSV lose nested data?
When unflattened, nested objects and arrays become JSON text cells. When flattened, objects and arrays expand by JSON Pointer to prevent key name confusion from dot notation. Empty objects and arrays remain saved as {} and []. A single export supports up to 20,000 rows, 1,000 columns, 500,000 cells, and 4 MiB output. CSV is suitable for analysis, not lossless bi-directional storage for JSON.
Why didn't large files automatically display the entire structure?
To keep the browser responsive, a single editing input is limited to 1 MiB, 100,000 values, and 128 nesting levels. The structure tree expands on demand, mounting up to 3,000 fields; diffs display up to 500 items. A single field path can be up to 8,192 characters, and total path index length can be up to 16 MiB. Exceeding these limits displays an explicit prompt rather than a complete success result.
Are drafts saved to the server?
JSON input, conversion, and drafts are processed entirely in your browser. Draft saving is off by default; when manually enabled, data is stored in localStorage. Other users on the same device may access it, so please avoid storing secret keys or private customer data. Ads are served based on site-wide configurations.
Standards and implementation references
RFC 8259 · JSON · RFC 6901 · JSON Pointer · lossless-json · CodeMirror