Developer tools
JSON viewer.
Open any JSON document as a collapsible tree. Expand or collapse every level, click a node to see its path, and page through long arrays without freezing the tab. Invalid JSON is pinpointed by line and column.
Your JSON
Result
How to explore JSON as a tree
Objects and arrays become expandable nodes labelled with their size, such as { 3 keys } or [ 12 items ]. The first two levels open automatically. Click a row to see its path, written in the same $.items[1].sku style used by JSONPath, then use Copy path to paste it elsewhere. To run a query rather than click through, use the JSONPath tester.
Large files
Children are created only when a node is opened, and arrays or objects with more than 200 entries show 200 at a time with a button for the next batch. That keeps a multi-megabyte response usable. Expand all opens up to a few thousand nodes and then stops, so it cannot lock the page on a huge document.
Values are shown as written
Strings appear with their quotes and escapes, and numbers with their original digits, so a long ID is not rounded the way it would be in a typical viewer built on JSON.parse. Numbers beyond double precision and repeated keys are listed as warnings; every duplicate is still shown in the tree.
What counts as valid JSON
This page applies the grammar in RFC 8259, The JSON Data Interchange Format (December 2017), and ECMA-404, The JSON Data Interchange Syntax describes the same syntax: one value (object, array, string, number, true, false or null), double-quoted strings and property names, and only space, tab, line feed and carriage return as whitespace between tokens. A bare string or number is a valid JSON text; it does not have to be an object.
Common JSON errors and how to fix them
- Trailing comma after the last item, as in
[1, 2,]. The grammar only allows a comma between two values. Delete it. - Single quotes or unquoted property names. JSON needs
"name"in double quotes; JavaScript object literals are more relaxed than JSON. - Comments (
//or/* */). JSON has no comment syntax. - Leading zeros such as
007, a leading+, or a bare.5. Write7and0.5, or quote an ID that needs its zeros. NaN,Infinityandundefined. None is a JSON value; usenullor a string.- Raw line breaks inside a string. Write
\ninstead; control characters below U+0020 must be escaped.
Frequently asked questions
How do I view a large JSON file as a tree?
Paste it into the box. The tree builds lazily, so only the nodes you open are drawn, and long lists are shown 200 entries at a time. Use Collapse all to get back to the top level.
What path format does the viewer use?
A JSONPath-style path starting at $, with dots for simple names and brackets for array indexes or names with special characters, for example $.user.roles[0] or $["first name"].
Is my JSON uploaded to view it?
No. The tree is built in your browser and the text is never sent to a server.
Why are some numbers or keys flagged with a warning?
A number with more digits than an IEEE 754 double can store would be rounded by most parsers, and duplicate keys are legal to read but unpredictable, because many parsers keep only the last one. The viewer keeps both visible and tells you.
Sources
RFC 8259, The JSON Data Interchange Format (December 2017); ECMA-404, The JSON Data Interchange Syntax; RFC 9535, JSONPath: Query Expressions for JSON (February 2024). All retrieved 2026-10. Parsing and formatting run entirely in your browser; this tool does not check your JSON against a schema or verify what the values mean.