Sample JSON files for testing parsers and APIs — free, CC0

JSON is the common language of APIs, and most JSON parsers are fine until they meet a number, a string or a depth they did not expect. These files cover the everyday case and the awkward ones.

json/people-10.json and json/people-1000.json are arrays of people objects from the shared synthetic dataset, pretty-printed with two-space indentation; the same records appear in the CSV, Parquet and SQLite people files.

json/all-types.json exercises every scalar shape worth testing: null, booleans, negative zero, exponents, integers beyond 2^53 and 2^63, Unicode escapes, a surrogate pair and empty containers. JavaScript's JSON.parse silently loses precision on the large integers, which is what the file is for. json/nested-100-levels.json nests an object 100 levels deep, for parsers with a recursion limit.

For size limits, json/1mb.json and json/10mb.json hold people objects fitted to within 5% of their nominal size. Related formats: NDJSON, YAML, TOML and XML.

6 files. The same list as JSON: https://loremfile.dev/json/index.json

JSON files
FileSizePropertiesDescription
10mb.json 10 MB utf-8, LF About 10MB of people objects, fitted to within 5% of the nominal size.
Snippets
curl -O https://loremfile.dev/json/10mb.json
<a href="https://loremfile.dev/json/10mb.json">download</a>
1mb.json 997.7 KB utf-8, LF About 1MB of people objects, fitted to within 5% of the nominal size.
Snippets
curl -O https://loremfile.dev/json/1mb.json
<a href="https://loremfile.dev/json/1mb.json">download</a>
all-types.json 708 B utf-8, LF Every JSON scalar shape worth testing: null, booleans, negative zero, exponents, integers beyond 2^53 and 2^63, unicode escapes, a surrogate pair, and empty containers.
Snippets
curl -O https://loremfile.dev/json/all-types.json
<a href="https://loremfile.dev/json/all-types.json">download</a>
nested-100-levels.json 1.4 KB utf-8, LF An object nested 100 levels deep, for parsers with a recursion limit.
Snippets
curl -O https://loremfile.dev/json/nested-100-levels.json
<a href="https://loremfile.dev/json/nested-100-levels.json">download</a>
people-10.json 5.2 KB utf-8, LF An array of 10 people objects, pretty-printed with two-space indentation.
Snippets
curl -O https://loremfile.dev/json/people-10.json
<a href="https://loremfile.dev/json/people-10.json">download</a>
people-1000.json 512.7 KB utf-8, LF An array of 1,000 people objects, pretty-printed with two-space indentation.
Snippets
curl -O https://loremfile.dev/json/people-1000.json
<a href="https://loremfile.dev/json/people-1000.json">download</a>

File names follow the naming grammar. Verify a download against sha256sums.txt.