JSON Viewer

Paste JSON into one full-width box to view it — formatted, as an interactive tree, or as statistics. It formats automatically as soon as you paste, and nothing you paste is ever uploaded.

Order

{{ note }}

Ln {{ cursor.line }}, Col {{ cursor.col }}

{{ modKey }}↵ Format {{ modKey }}⇧F Format {{ modKey }}M Minify {{ modKey }}K Clear Tab Indent {{ modKey }}Z Undo

All viewing, formatting and inspection happens in your browser. Your JSON is never uploaded to a server.

About the JSON Viewer

This is a single, full-width box: paste JSON in and it formats itself in place — there is no separate input and output pane, and no file upload. That makes it a fast way to glance at an API response or a config blob you already have on your clipboard. For loading a file from disk, drag-and-drop, or a side-by-side view of the original alongside a highlighted result, use the JSON Formatter instead — both tools share the same parsing, tree and statistics engine underneath.

Formatted, Tree and Statistics

The Formatted tab is the box itself — readable or minified JSON you can edit directly. The Tree tab shows the same document as an expandable structure; selecting any row reveals its JSON path, type and value, ready to copy. The Statistics tab counts objects, arrays, keys and each value type, plus the maximum nesting depth.

Where JSON parsing actually fails

Most "invalid JSON" errors come from writing JavaScript by mistake. Trailing commas, single-quoted strings, unquoted property names, NaN, Infinity and undefined are all legal JavaScript and none of them are legal JSON. This tool re-scans rejected input itself so you always get an exact line and column, the offending line in context, and a message that names the mistake.

Comparing two documents instead of viewing one?

Format both first if either one needs it, then use the JSON Diff tool to see exactly what changed between them — added fields, removed fields, changed values, and type changes, each with its own JSON path.

Converting instead of viewing?

Use the CSV ↔ JSON converter or the YAML ↔ JSON converter to move data between formats.

How is the JSON Viewer different from the JSON Formatter?

They share the same parsing, tree and statistics engine, but the layouts differ. The Viewer is a single full-width box — your pasted text becomes the formatted result in place, with no file upload. The JSON Formatter keeps a side-by-side input and output, and adds file upload, drag-and-drop and download.

Does pasting my JSON format it automatically?

Yes. As soon as you paste, the box reformats in place. You can still switch to Minify, run Validate on its own, change the indentation, or turn on key sorting — each one reformats the box again.

What do the Formatted, Tree and Statistics options show?

Formatted is the box itself, holding the readable (or minified) JSON you can edit directly. Tree shows the same document as an expandable structure with copyable JSON paths. Statistics shows counts of objects, arrays, keys and value types, plus the maximum nesting depth.

Why is there no upload option here?

The Viewer is built for a quick paste-and-inspect workflow, so it stays to one box with no file picker or drop zone. For loading a JSON file from disk, use the JSON Formatter, which supports drag-and-drop and upload up to 10 MB.

What does Select all and Copy do?

Select all highlights everything currently in the box so it is ready to copy manually; Copy copies it straight to your clipboard. Both act on whatever is showing — formatted or minified.

Is my JSON uploaded anywhere?

No. Parsing, formatting and the tree and statistics views all run in your browser using JavaScript. Nothing is transmitted to a server.