Your country

Tools that support it use your country for local currency, number formats, units and paper size. Your choice is saved only in this browser.

Type a name or a two-letter code. Use the up and down arrow keys to move through the countries, Enter to choose one and Escape to close.

JSON Viewer & Tree Editor

Browse, search and edit big JSON files in a fast tree — and copy any path.

Developer No upload Works offline Free, no sign-up

Shown as you type. Files up to 100 MB; files over 2 MB are opened without filling this box. Nothing is uploaded.

Next steps

About the JSON Viewer & Tree Editor

Paste JSON or open a file — an API response, a log export, a package-lock.json, a GeoJSON or HAR file of tens of megabytes — and explore it as a tree. Only the rows on screen are drawn, so even documents with millions of values scroll smoothly; arrays and objects with more than 100 children are split into groups of 100 (then 10,000, …) as in browser developer tools.

Every row shows its type and, for objects and arrays, how many children it has and how many bytes it takes up — handy for finding what makes a file big. Search keys and values, sort keys, edit values in place, rename or delete members, and copy the path of anything as JSONPath ($.books[0].title), JSON Pointer (/books/0/title), JavaScript, Python or jq. Numbers are never rounded: the tree uses the same exact parser as the JSON Formatter, so 12345678901234567890 stays exactly that.

How to use it

  1. Paste JSON, open a .json file (up to 100 MB) or drop it on the box, then press View tree — or press Load sample.
  2. Click a row (or use the arrow keys) to select it; click the arrow or press → / ← to open and close objects and arrays. Expand all opens everything up to 20,000 rows.
  3. Type in Search to find keys and values; Enter and Shift+Enter (or the arrow buttons) jump between matches, opening the tree as needed.
  4. The panel under the tree shows the selected value: copy its path in the format you choose, copy the value, or edit it — double-click a value (or press F2) to change it in place, or edit any part of the document as JSON.
  5. When you have made changes, Copy JSON or Download the edited document.

Examples

Copy the path of a nested value
Input
{"books": [{"title": "Cosmos", "authors": ["Carl Sagan"]}]}
Result
JSONPath:     $.books[0].authors[0]
JSON Pointer: /books/0/authors/0
JavaScript:   data.books[0].authors[0]
Python:       data["books"][0]["authors"][0]
jq:           .books[0].authors[0]
Keys that are not identifiers
Input
{"user data": {"e-mail": "[email protected]"}}
Result
JSONPath:   $['user data']['e-mail']
JavaScript: data["user data"]["e-mail"]

Common uses

  • Finding your way around a large or deeply nested API response.
  • Getting the exact path of a field for code, a jq filter, JSON Patch or a JSONPath query.
  • Seeing which part of a big JSON file (a log export, a lock file, a HAR capture) takes up the space.
  • Fixing a few values in a config or a fixture without hand-editing the text.

Paths

  • JSONPath (RFC 9535): $.store.books[0].title; names that are not simple identifiers use brackets: $['first name']. Normalized JSONPath always uses brackets: $['store']['books'][0]['title'].
  • JSON Pointer (RFC 6901), as used by JSON Patch, JSON Schema and OpenAPI: /store/books/0/title, with ~ written ~0 and / written ~1.
  • JavaScript data.store.books[0].title, Python data["store"]["books"][0]["title"] and jq .store.books[0].title — ready to paste after renaming data.

Sizes, types and duplicates

The size next to an object or array is the number of bytes it takes in minified JSON (UTF-8). Type labels tell strings from numbers at a glance — useful when an ID is sometimes "42" and sometimes 42. A key that appears twice in the same object is marked duplicate: most programs keep only the last value, and the tree shows both so that you can see which one wins.

Limitations

  • Files up to 100 MB can be opened. Big documents are parsed in your browser, which can take a few seconds and a lot of memory on phones.
  • The tree can show up to 500,000 rows at once (collapse some branches if you reach that); Expand all stops at 20,000 rows.
  • Comments, trailing commas and other JSON5 syntax are reported as errors — the viewer accepts strict JSON only.
  • Edits change the tree, not the text you pasted: copy or download the edited JSON to keep it. The downloaded file is re-indented.

Privacy

Everything happens in your browser. What you enter or open here is not uploaded or stored by MySmartCoPilot.

Frequently asked questions

Is my JSON uploaded?

No. The file is read and displayed by your browser; nothing is sent anywhere, and the page keeps working offline once loaded.

How big a file can it handle?

Up to 100 MB. Because only visible rows are drawn and large arrays are grouped, scrolling stays fast; the limit is your device's memory while the file is parsed. Files over 2 MB are not copied into the text box, so the page stays responsive.

Why do big numbers look different in other viewers?

Viewers built on JSON.parse turn every number into a 64-bit float, so 12345678901234567890 becomes 12345678901234567000. This viewer keeps every number exactly as written, and edits and downloads keep them too.

Can I edit the JSON here?

Yes. Double-click a value (or select it and press F2) to change it in place — strings, numbers and booleans keep their type. In the panel below the tree you can rename keys, delete members, add properties or items, or replace any part of the document by editing it as JSON.

Can I search inside values?

Yes — the search looks in keys and values (case-insensitive by default); untick Keys or Values to narrow it. It finds up to 10,000 matches and opens the tree at each one as you step through them.

Quick answers and tool search

Type to search tools or to get a quick answer, for example 18% of 2500. Use the up and down arrow keys to move through the results, Enter to choose, and Escape to close.