How to use the JSON reader
- Paste JSON into the box, drop a file on it, or click Open file. Files up to 20 MB are read locally.
- The tree opens two levels deep. Use the arrows to open a branch, or Expand all and Collapse all.
- Type in Search keys and values. Matching text is highlighted and the branches that contain it open automatically.
- Click a key to select it, then Copy path for its JSONPath or Copy value for that part of the document, pretty printed.
Reading the tree
Each line is one value. Objects show how many keys they hold ({3 keys}) and arrays how many items ([2 items]), so you can tell the size of a branch without opening it. Array items are labelled with their index, starting at 0. Strings are shown with their quotes and escapes exactly as they appear in the file, and numbers keep their original digits, so a 19-digit ID is not rounded the way it would be by a plain JSON.parse.
Very long arrays are drawn 200 items at a time with a Show more button, which keeps the page responsive when you open a large JSON file. If the file is not valid JSON, the viewer shows the first error and its position instead of a tree; the JSON validator explains common causes.
JSONPath: copy the path to any value
A JSONPath is an address for one value inside a document. It starts with $ for the root, adds .key for object members and [0] for array positions. Keys that are not simple identifiers use bracket notation with quotes. For the sample data above:
$.store.name → "Corner Books"
$.store.book[1].title → "Moby Dick"
$.store.bicycle.price → 19.95
$['first name'] → a key containing a spaceThe syntax is standardised in RFC 9535, and the same paths translate directly to code: $.store.book[1].title is data.store.book[1].title in JavaScript and data["store"]["book"][1]["title"] in Python. Tools such as jq, Postman tests and many log platforms accept similar paths, so a copied path saves typing and typos.
JSON visualizer or formatter?
Use this JSON visualization when you want to explore: find where a field lives, check how many items an array has, or pull out one nested object. When you want the whole document as readable text to paste into a ticket or commit, the JSON formatter pretty prints it with indentation instead.