Sample JSON file — free download
JSON test files for parsers, importers and API mocks — valid baselines plus the ones that break things: trailing commas, numbers past 2^53, and structures nested deep enough to blow a recursive parser’s stack.
Need a specific size?
Streamed on demand — nothing stored, no signup, any size up to 2 GB.
6 ready-made JSON test files
| File | Size | What it catches | |
|---|---|---|---|
| malformed-trailing-comma.json | 24 bytes | Error handling on config load. The failure message should name the file and the line, not surface a bare "Unexpected token }". | download |
| precision-loss.json | 319 bytes | The classic JavaScript bug where a 64-bit database ID arrives as 9007199254740992 instead of ...993. Any client parsing this into a double corrupts the values silently. Correct handling means parsing large integers as strings or BigInt. | download |
| valid-small.json | 382 bytes | Baseline. Covers every scalar type plus escaping in one small file. | download |
| deeply-nested-100000.json | 195 KB | Recursive-descent parsers that blow the stack. Note that the two most common runtimes do NOT fail here: V8 JSON.parse and CPython's C scanner are both iterative and accept 1M levels. What this does catch is recursive implementations - Go encoding/json before its depth cap, many Ruby and PHP libraries, pure-Python fallback scanners, and hand-rolled parsers. The property worth asserting is that your service returns a 400 with a depth-limit message rather than either a 500 or a successful parse of an absurd document. | download |
| ndjson-10000-lines.ndjson | 654 KB | Log-ingest and bulk-import paths. Line 5000 contains an embedded \n inside a string value - splitting on raw newlines rather than parsing will corrupt exactly that record. | download |
| large-array-100mb.json | 100 MB | Anything that calls JSON.parse on the whole body. Forces the switch to a streaming parser and exposes request-body size limits in API gateways. | download |
Every file is generated from source — no third-party copyright — and each has its own page with a published SHA-256 you can verify after download.
Questions
Where can I download a sample JSON file?
The valid sample below covers every scalar type, nested objects, arrays, nulls, Unicode and escaped characters in one small file.
What is the JSON precision-loss problem?
JavaScript numbers are IEEE-754 doubles, so integers above 9,007,199,254,740,991 silently lose precision. The precision-loss file contains values on both sides of that boundary.
What is NDJSON?
Newline-delimited JSON — one complete JSON object per line, so a file can be streamed and processed line by line instead of parsed whole. Common in logs and data pipelines.