Free Chrome extension · for developers
Treeline turns the raw JSON you open into a searchable tree — automatically.
That one-line response you were about to select-all and paste into some stranger's formatter — Treeline turns it into a tree the moment it loads. Search it, copy any row's path, collapse the noise. Free, on payloads up to 8 MB.
Not on the Web Store yet — download the folder and load it unpacked. Five steps, about a minute, no account.
Treeline on api.example.com/users?page=2 — the raw response rebuilt as a searchable tree, on load, free, up to 8 MB.
9:04 AM — api.example.com
The response you have to read: 5.9 KB on one unbroken line. The field you're debugging is in there somewhere.
9:41 AM — the ritual
Select all, paste into a formatter site — production data in a stranger's textarea. Or a viewer that pretty-prints, then leaves you hunting for the key by eye because it can't search.
10:12 AM — install
One install of Treeline. Nothing to configure, nothing phones home.
10:13 AM — same URL, refreshed
Treeline rebuilds the same URL as a collapsible, type-colored tree — 394 nodes, no paste, no second tab. The response is the page.
10:13 AM — the question
Where does lovelace sit inside 394 nodes? Type it and Treeline collapses to the branches that hold it. Enter cycles the hits, 300 of them at most.
10:14 AM — into the test
That row's exact address goes to the clipboard — $.dot or ["bracket"] style, your call in Options — and straight into the assertion.
10:16 AM — two payloads
Staging answered differently. Diff the two payloads, query with JSONPath, check them against a schema — that is Pro: $15 once, never a subscription. The five tools are still being built, so today those buttons open a preview.
in the response above — every one searchable, one click from its JSONPath
network requests, analytics events, or remote scripts. Ever.
per payload — the ceiling on both tiers. No account, no cap on pages
for the whole viewer — tree, search, paths. Only the five Pro tools cost money
10:20 AM — the rest of the morning
Free does all of this, on every JSON URL you open
No trial clock, no account wall. These stay free.
Treeline watches the document, not you. When a page is raw JSON — an application/json response, or a lone <pre> holding a parseable payload — it rebuilds that page as a collapsible tree: type-colored values, item counts on every branch, raw, parsed and formatted tabs. On anything else it stops at the content-type check without touching the page.
Search that collapses the rest
Type and Treeline folds the whole tree shut, then opens only the branches holding a hit — keys and values both. Enter walks you through them, capped at 300 so a giant payload stays responsive.
Treeline filters as you type — Enter cycles the hits.
Treeline reads the content type, never your pages.
Automatic takeover
Raw JSON documents become the tree on load — application/json responses and lone-<pre> payloads both count. HTML apps are left alone.
Treeline hands you the exact path, ready to paste into a test.
One-click JSONPath
Hover any row and a copy glyph appears. Click: $.users[0].name is on your clipboard. Bracket style lives in Options.
Treeline keeps the untouched original one tab away.
Raw, parsed, formatted
The original response text, the tree, and a 2-space pretty-print with line numbers. An editor tab takes pasted payloads and files, with format and minify.
Treeline breaks a 10,000-item array into collapsed blocks.
Built for heavy payloads
Arrays over 100 items render chunked, and the tree takes on payloads up to 8 MB. Past that, Treeline leaves Chrome's raw view alone — on purpose.
Treeline follows your OS theme, or the one you pin.
Dark and light
Follows the OS theme, or pin one in Options. Tree text at 11, 12 or 13 px — whichever your eyes prefer at 6 PM.
10:24 AM — where it stops
What Treeline won't do
Worth knowing before you install — these are design decisions, not missing pages on a roadmap.
The limits
- Payloads over 8 MB stay raw
- At that size Chrome's native view is quicker than any tree, so Treeline steps aside.
- JSON inside an HTML app isn't detected
- A styled API console or a dashboard renders its own markup. Only raw JSON documents are taken over.
- Very large payloads drop the colored Formatted tab
- It falls back to plain text, and search stops at 300 matches. Responsiveness wins over completeness.
- Chrome 110+ is the target
- Firefox and Safari are untested.
Three things worth knowing
⌘Ffrom anywhere in the tree- Treeline intercepts it before Chrome's find bar and drops you into the tree's own search field, wherever the cursor was.
- Collapse depth
- Open trees 2, 3 or 5 levels deep, or all the way. Set once in Options.
- Path style
- $.dot or ["bracket"], whichever your test suite pastes cleaner.
The permissions, in full
storage holds your preferences and hands pasted payloads to the editor tab. The content script runs on <all_urls> so it can recognize raw JSON on any origin — which means Chrome will ask for access to all sites when you install.
That access buys exactly one thing: a content-type check per page. On anything that isn't raw JSON the script stops there and never touches the DOM. No network requests, no analytics, no remote code — nothing you open leaves the tab.
10:31 AM — the second payload
Two tiers. One price, once.
The free tier is the product, not a trial.
Free
- Automatic tree takeover of raw JSON pages
- Live search — Enter cycles matches
- JSONPath copy on every row
- Raw · Parsed · Formatted tabs
- Editor tab: paste, open file, format, minify
- Dark + light themes, system-aware
- Chunked rendering for arrays past 100 items
- Payloads up to 8 MB — the same ceiling Pro has
Pro
Everything in Free, plus:
- Diff two payloads side by side
- JSONPath query bar with live results
- Schema validation
- Mock-data generation
- Saved snippets
The five Pro tools are still being built. Checkout already works — the extension's upgrade modal opens Stripe — but $15 today buys a "coming soon" note, not a workflow. Install Free now and pay the day Diff lands. Either way, the Free tier never expires.
The next raw response you open is already a tree.
Five steps, about a minute, and no account anywhere in them.
chrome://extensions 3Developer mode on 4Load unpacked → the folder you just downloaded 5Open any raw JSON URLTreeline is not on the Chrome Web Store yet — no listing, no review date to quote you. Until there is one, unpacked is the install, and it is the same extension: free, the same 8 MB ceiling, every free-tier feature listed above.