JSON Peek for Chrome

See any JSON.
The moment you open it.

Raw API responses become a clean, collapsible, colour-coded tree — automatically. A virtualized renderer keeps huge files smooth, a built-in jq filter slices them down, and everything runs on your machine. No copy-pasting into another tab.

Free forever · Open source · No account · Zero network calls

{ }Open a JSON URL. It's already a tree.
The signature

Big payloads, no frozen tab.

Most viewers try to draw every node at once and lock up the moment a response gets large. JSON Peek only renders what's on screen, so a multi-megabyte document with hundreds of thousands of nodes stays smooth to scroll, expand and search.

Virtualized rendering

Only the rows inside the viewport are ever mounted. Scrolling, expand-all and collapse-all stay responsive whether the document is 2 KB or 20 MB — no spinner, no locked tab, no crash.

Non-JSON pages cost effectively nothing: a quick content-type and first-character check runs and exits in under a millisecond, so JSON Peek never slows down your normal browsing.

Viewport-only DOM<1 ms on other pagesDeep-doc safe
Built-in jq

Filter to exactly what you need.

A jq-style filter bar is built right in — paths, iteration, pipes, select(), map(), keys, length and more. It's a dependency-free subset that runs locally, so slicing a huge response down to the part you care about takes a couple of keystrokes.

jq .endpoints[] | select(.auth == true) 2 results
0 : {
   "path": "/orders/{id}",
   "method": "GET",
   "auth": true
}
Handles the messy cases

The payloads other viewers choke on.

Real-world JSON is rarely pristine. JSON Peek recovers what it can, tells you what it fixed, and points at the exact spot when something's genuinely broken — instead of showing a blank page.

Trailing commas
recovered ✓
Comments
stripped ✓
Single quotes
converted ✓
JSONL / NDJSON
detected ✓
HTML-as-JSON
flagged ✓
Broken JSON
line & column
Everything, free, at launch

A proper JSON workspace in the tab.

Collapsible tree

Objects and arrays fold and unfold with indent guides, key and item counts on collapsed nodes, and syntax colours for every data type. Expand-all and collapse-all in one click.

Search keys & values

Search across the whole document at once. Matches auto-expand into view with next / previous jumping and a live count, so a value buried deep in a big response is one keystroke away.

jq-style filtering

Paths, iteration, pipes, select(), map(), keys, length and more — a dependency-free jq subset that runs entirely on your machine.

JSONL & NDJSON

Line-delimited log and streaming formats are detected automatically and shown as a clean array — a case most viewers miss entirely.

Copy & export

Copy the whole document pretty or minified, any value, or the exact path to a node. Export to JSON, minified JSON, or flattened CSV.

Scratchpad

Paste any JSON or JSONL to format, validate and explore it — no need to open a URL first. Right-click selected text to send it straight in.

How it fits your flow

Automatic, or on demand.

Automatic

Open a JSON URL

Hit any endpoint that returns JSON and it's a tree instantly — no button, no paste. The raw response is one keystroke away with R.

Keyboard

Straight to the part you need

/ to search, R to toggle raw, E to expand all, C to collapse. The jq bar filters as you type.

Scratchpad

Paste anything

Open the scratchpad from the popup or a right-click, paste JSON or JSONL from anywhere, and get formatting, validation and a clear error location.

Free forever. Everything on your machine.

Every feature is free permanently — no account, no subscription, no locked tier. JSON Peek makes zero network calls and has no analytics or tracking: the JSON you view, your preferences and your ignored-site list never leave your device, because there's nowhere for them to go. The code is open and auditable. It's funded by goodwill — if it earns a place in your toolbar, you can leave a tip.

More from niallcodes

Small, sharp tools that respect your time.

JSON Peek is one of a family of independent Chrome extensions built in the UK. No bloat, no dark patterns.

See the full lineup at niallcodes.com →

Questions

The things people ask first.

Will it handle really large JSON files? +

Yes — that's the point of it. JSON Peek uses virtualized rendering, so only the rows currently on screen are drawn. A multi-megabyte response with hundreds of thousands of nodes stays smooth to scroll, expand and search where other viewers freeze or crash the tab.

What is the jq filter, and do I need to know jq? +

The filter bar accepts a subset of jq — paths like .items[], pipes, select(), map(), keys, length and more — to narrow a big document down to what you want. You don't have to use it; the tree, search and export all work without ever touching it. It's there when you need it.

Does it work on broken or non-standard JSON? +

It recovers common problems — trailing commas, comments and single-quoted strings — and shows a note about what was fixed. Line-delimited JSONL/NDJSON is detected automatically, and HTML error pages served as JSON are flagged rather than mangled. When JSON is genuinely invalid, it points at the exact line and column instead of showing a blank page.

What can I copy and export? +

Copy the whole document pretty-printed or minified, any single value, or the exact path to a node. Export the document — or a jq-filtered slice of it — as JSON, minified JSON, or flattened CSV. There's also a window.json hook so you can poke at the parsed value in DevTools.

Is it really free, with no catch? +

Yes — every feature, free permanently, with no paid tier and nothing that moves behind a paywall later. There's no account and no license. If JSON Peek helps you, you can leave an optional tip at ko-fi.com/niallcodes. That's the whole model.

Do you collect any data? +

No. No account, no analytics, no tracking, and no network calls at all — JSON Peek never contacts a server. It reads the current page's text locally only to detect and render JSON, and that content is never transmitted or stored off-device. Your preferences and ignored-site list live in the browser's own storage. Full detail is in the privacy policy.