Large JSON Viewer, JSON Browser & JSON Tree

Large JSON Viewer, JSON Browser & JSON Tree, a VS Code extension by Zovo

A large JSON viewer for VS Code with a fast JSON tree. See any JSON file as a searchable tree, copy the path of any value in one click, and turn arrays of objects into a sortable table.

Install in VS CodeOpen the Marketplace page

Free, MIT license. Needs VS Code 1.90.0 or newer. Extension ID zovo.zovo-json-tree-viewer, version 0.2.2.

An API response with 64-bit order IDs shown digit for digit in the JSON tree, a note that 9 numbers were kept exact, and the text editor opened beside the tree at line 13 after Go to line on orders[0).customer.account

A real VS Code window (1.142, Dark Modern) with the packaged extension installed. Go to line opened the text editor beside the tree. The files are generated, so no real data appears.

Quick start

  1. Open a .json, .jsonc, .json5, .geojson, .har, .ipynb or .webmanifest file and click the tree icon at the top right of the editor.
  2. Click nodes to expand them, or use the 1, 2, 3 and All buttons. Type in Search and press Enter.

The normal text editor stays the default, so editing works as before. To view JSON that is not saved in a file, select it (or copy it) and run "JSON Viewer: Open Selection or Clipboard in JSON Viewer".

Questions people ask

Is Large JSON Viewer, JSON Browser & JSON Tree free?

Yes. Large JSON Viewer, JSON Browser & JSON Tree is free and MIT licensed.

How do I install Large JSON Viewer, JSON Browser & JSON Tree?

Click "Install in VS Code" above, or search for zovo.zovo-json-tree-viewer in the Extensions view.

What you can do

50,000 user records shown as a table sorted by score from high to low, one cell selected with its path $[5879).nameAn event payload stored as an escaped JSON string opened as a nested tree, with the JS path JSON.parse(data.events[0).payload).user.name
Table of an array of objects, sorted by scoreEscaped JSON string opened as a tree
The tree right after the file changed on disk: the new order and the changed status show, the open nodes and the selected row stayed, and a note says the file was reloadedA nested service config as a JSON tree expanded to level 3, with the four host keys found by search highlighted and the selected path $.server.port in the bottom bar
Reloaded after a change on disk, open nodes keptSearch keys and values
A file with a missing comma shows the message Expected comma at line 5, column 15 and the three lines around itGeoJSON weather stations in the light theme as a tree at level 2
Clear error with line and columnFollows your theme, light or dark

Tree

Each row shows the key, a type badge (obj, arr, str, num, bool, null) and the child count. Closed objects show a short preview such as {host: "0.0.0.0", port: 8443, tls: {…}}. Expand to level 1, 2, 3 or all, or collapse to the root. Arrow keys move, Right opens, Left closes or goes to the parent, Enter toggles.

Search covers every key and value in the file, not only the open rows, and ignores case. Enter or ↓ goes to the next match, Shift+Enter or ↑ goes back. The tree opens the parents of each match and highlights the matching rows.

Copy

The bottom bar shows the selected node's JSONPath and type. Copy JSONPath, Copy JS path and Copy value put it on the clipboard. Keys that are not plain names are quoted, as in $['odd keys'] and data["odd keys"]. Strings are copied as plain text and everything else as formatted JSON.

Go to line

Select a node or a table cell and click Go to line, or press G. The text editor opens beside the viewer with the cursor on that key or item. Inside an escaped JSON string it goes to the string. It works for JSON and JSONC files. JSON5 files show a short note instead.

Reload on change

When the file changes on disk, or you save it in VS Code, the tree reads it again within about half a second. Open nodes, the selected node, the scroll position, the search and an open table stay as they were. If the new text is not valid JSON (for example while a tool is still writing it), the last good version stays on screen with a note. A tab in the background reloads when you show it. Turn this off with jsonTreeViewer.autoReload.

Exact big numbers

JavaScript keeps about 15 to 17 significant digits, so JSON.parse turns 12345678901234567891 into 12345678901234567000. This viewer reads such numbers again from the file text and shows them exactly, with a dotted underline. Copy value, search, the table and Copy value of a parent object all use the exact digits. A note at the top says how many numbers were kept this way. Sorting a table column orders them by their rounded value.

Table

Arrays of objects get a Table chip, and a root array opens from the Table tab. There is one column per key, with its type. Click a header to sort it up, again to sort it down, and a third time to clear the sort. Missing values sort last. Click a cell to get its path and copy its value.

Escaped JSON

When a string holds a JSON object or array, the row gets a JSON string chip. Click it to read the string as a tree. Paths inside it come out as JSON.parse(data.events[0].payload).user.id.

Formats

.json, .jsonc (comments and trailing commas), .json5, .geojson, .har, .ipynb and .webmanifest open from the editor title or the Explorer menu. Any other file opens through the command "JSON Viewer: Open in JSON Viewer". UTF-8 and UTF-16 files with a byte order mark both work.

Settings

SettingDefaultWhat it does
jsonTreeViewer.maxFileMB200Largest file the viewer reads. Bigger files show a message and are not read. Parsing takes several times the file size in memory.
jsonTreeViewer.autoReloadtrueReload the tree when the file changes on disk or is saved. Open nodes, the selection and the search stay.
jsonTreeViewer.askForRatingtrueAsk one time for a Marketplace rating after a few days of use.

Privacy

The extension works offline. It makes no network calls and has no telemetry. The viewer page has a strict Content Security Policy with no remote sources, and all file text is shown as text, never as HTML. Files are opened read-only.

Limits

License

MIT. JSON5 parsing uses the json5 package (MIT), listed in THIRD-PARTY-NOTICES.txt.

Install Large JSON Viewer, JSON Browser & JSON Tree

Click the button to open VS Code and install it, or press Ctrl+P (Cmd+P on macOS) in VS Code and run ext install zovo.zovo-json-tree-viewer.

Free, MIT license. Needs VS Code 1.90.0 or newer. Extension ID zovo.zovo-json-tree-viewer, version 0.2.2.

Source code and issues are on GitHub.

All our VS Code extensions

Support this work

If this extension saves you time, you can support the work on GitHub Sponsors. Monthly tiers start at $5, and one-time tiers start at $15. Sponsorship is optional, and the tool works the same without it.