Large JSON / JSONL Explorer
Open, index, search and export large JSON and JSONL files locally with a virtual table, lazy tree and exact numeric values.
No data is sent to the server
Local file
Drop a JSON, JSONL or NDJSON file
The file stays in this browser. JSONL is read incrementally; ordinary JSON uses the configured memory limit.
Ordinary JSON is loaded only up to the selected 8–64 MiB limit. JSONL is streamed in 1 MiB chunks, with a selected 1–8 MiB limit per record and a maximum depth of 256. These are explicit safety limits, not claims of unlimited browser memory.
Files, searches and derived columns never leave this device and are not saved in local storage; only the format and safety settings are remembered.
Choose a local JSON or JSONL file to inspect its structure and records.
Search, filter and project
One RFC 6901 JSON Pointer per line, up to 100 fields. An empty list keeps automatic top-level columns. Escape ~ as ~0 and / as ~1. Projected JSONL uses a flat object whose keys are the exact pointers; a missing field becomes null.
Automatic columns sample the first 10,000 records and show at most 100 top-level fields. Column names whose encoded JSON Pointer exceeds 256 characters, and column-name metadata beyond 16,384 characters, are not added automatically. No input field is removed: use an exact JSON Pointer projection to display or export any field. Table cell previews are capped at 512 characters; record inspection and exports use complete values.
Selected record
Select a table row to load the complete original record.
JSON structure
This value has no children.
Export current result
Exports re-scan every matching record, not only visible rows. Output is assembled in bounded chunks, with a 256 MiB browser output limit. CSV is RFC 4180 with CRLF and a UTF-8 BOM.
On this page
Explore large JSON arrays and line-delimited JSON without uploading private data. The tool builds a sparse local index, renders only a small virtual table window and loads a selected record or tree branch on demand.
Detailed Functionality
JSONL / NDJSON is decoded as UTF-8 in 1 MiB chunks. BOM, CRLF and a final line without a newline are handled, while malformed input reports the physical line and column. Only sparse checkpoints and bounded column metadata are retained; records are read again for distant table windows, filtering and export.
Ordinary JSON supports objects, arrays and scalar roots with a lazy structure tree. A root array is also browsable as records. Because one JSON document cannot be independently indexed like JSONL, it has an explicit selectable 8–64 MiB file limit and is parsed in a worker. The configurable nesting limit is capped at 256, and JSONL records are capped at 1–8 MiB each.
Numbers keep their source lexemes. IDs such as 9007199254740993, decimals such as 1.0 and exponent forms are never round-tripped through JavaScript Number during JSONL export. Filtering scans every record without building a full matching array; sparse checkpoints support later virtual-table reads.
Practical Examples
Inspect API logs: open an .ndjson file, search values for timeout, then filter /service by billing. Selecting a row loads its complete original JSON.
Project nested fields: enter /id and /user/name, where /a~1b addresses a key named a/b. The table and CSV use those pointers as columns; projected JSONL contains the same pointer names and lossless values.
Preserve large IDs: exporting {"id":9007199254740993,"price":1.0} keeps both numeric spellings exactly instead of changing the ID or decimal.
Browse a large array: open an ordinary JSON array, expand only the needed branches in the tree and scroll the virtual record table without creating one DOM row per item.
How to Use This Tool
Choose the format and limits
Select Auto detect, JSON or JSONL/NDJSON, then choose ordinary-file, per-record and nesting limits appropriate for the data.
Open the local file
Drop the file or choose it. Indexing runs in a worker and shows bytes, elapsed time, throughput and an ETA. Cancel discards the session safely.
Search or project
Search keys, values or both. Add an RFC 6901 field pointer and value substring, or list projected pointers one per line, then apply the view to all records.
Inspect and export
Scroll the virtual table, select a row for the complete record, expand ordinary JSON tree nodes lazily, or download every current match as JSONL or CSV.
Tips and Best Practices
- Use
.jsonlor.ndjsonextensions for reliable auto detection; choose the format explicitly for ambiguous extensionless files. - Blank JSONL lines are ignored, but reported syntax locations use physical file line numbers.
- An empty JSONL file is a valid zero-record result; an empty ordinary JSON document is invalid.
- JSON Pointer uses
/between segments,~0for a literal tilde and~1for a literal slash. - CSV formula protection is enabled by default for values beginning with
=,+,-or@, including after leading whitespace. - Exports include every filtered row and stop before the explicit 256 MiB browser output ceiling.