Skip to the content
GigaJSON

Large JSON benchmarks

All tools
Guides Open GigaJSON

Last updated 8 October 2026

These are our measurements of GigaJSON on synthetic order data. Download the results and generate the same files to try on your computer.

Time until the tree appears

Three archived production-build runs on 3 October 2026. Chrome 154.0.8037.92 on an Intel Core i5-9300H, with 23 GB RAM reported by the test machine. The archived report does not record the operating system or exact source revision. These are historical measurements, not a fresh benchmark of today's release.

Target sizeActual bytesOrdersThree runsMedianPage long tasks, each run
200 MiB209,715,773368,6632.092 / 2.549 / 1.976 s2.092 s69 / 108 / 75 ms
500 MiB524,288,450921,4579.656 / 9.286 / 9.209 s9.286 s0 / 0 / 0 ms
1000 MiB1,048,576,4331,841,65318.370 / 18.287 / 17.907 s18.287 s0 / 0 / 0 ms

MiB means 1,048,576 bytes. The largest fixture is about 1.05 decimal GB. Each file ends after a complete order, so it is slightly larger than the target. These timings do not mean every file of that size takes the same time.

What we measured

The test starts the open action, then waits until the tree is rendered and a browser frame has passed. Files above 200 MiB use a file input; the 200 MiB fixture is pasted. File generation is outside the timed step. The same test then visits other views and performs edits; those results are in the downloads.

Long-task totals cover the page's main thread during each step. Zero recorded long-task time does not mean zero CPU work. The JSON parser and document store run in a worker. The reports' heapMB is the page heap after garbage collection, not total memory: worker memory is not measured. Expect large files to use substantially more memory than that number.

Shape, nesting, string lengths, hardware, free memory and browser storage all affect the result. A flat array of small records is different from one giant string or a deeply nested object. A timed-out operation is a failure for that test, not proof of a product-wide file limit.

Generate the same input

Download generate.mjs and make-fixture.mjs into an empty directory. With Node.js 22 or later, run:

node make-fixture.mjs 200
node make-fixture.mjs 500
node make-fixture.mjs 1000

The generator uses seed 42. Orders contain IDs, customer details, items and totals, all synthetic. The scripts refuse to overwrite an existing fixture. Allow enough disk space and memory; the 200 MiB generation step builds the document in memory, while larger files are written in pieces.

Open the file in the large JSON viewer or workspace. In the workspace, raise Preferences → Largest document for files above the default 512 MB. Repeat with a fresh document three times and record the browser version, hardware, actual bytes, time to the first usable tree and any error. These steps reproduce the input and workflow; the archived automation's exact build is not preserved in the reports. For a quick check without Node, use the live demo; its generator is a different fixture.

Raw reports

Report filenames record completion times; the env.date field records the start. The internal working name "Nodely" may appear in fixtures. It refers to GigaJSON.

Choosing another tool

This table compares tasks and published descriptions, not performance on the same machine. Checked 8 October 2026.

ToolWhere to consider itEvidence and scope
JSON CrackInteractive diagrams and image exportIts free viewer FAQ describes roughly 300 KB, depending on complexity and hardware. This is a vendor description, not our test.
DadroitA dedicated desktop viewer for large filesThe desktop app and V Web are different products. This page does not claim a current file cap or timing for either.
JSONBoltA desktop workflow for large JSON filesIt publishes its own hardware-specific benchmarks. Those are not directly comparable with our browser runs.
Big JSON ViewerA browser tree viewer focused on large filesOur older observations are not a current product limit. Test your file in both viewers before choosing.
GigaJSONMove between tree, table, graph, queries and local historyThe archived runs above measure the workspace. Individual operations have separate limits.

Limits to check first

JSON/XML browsing can reach 1 GB when memory permits. jq has a 20 MB input limit. CSV/YAML input and JSON repair are limited to 128 MB. The Code editor and diff have their own limits. Large-file browsing does not imply every operation accepts the same input size.

See the large-file guide and our JSON Crack comparison. Found a result you cannot reproduce? Send the browser version, file shape and timing to contact@gigajson.com; avoid sending confidential documents.