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

json/people-10.json is a sample JSON file: an array of 10 people objects, free to hotlink or download.

https://loremfile.dev/json/people-10.json · 5.2 KB (5,186 bytes) · application/json; charset=utf-8 · utf-8 · LF · 182 lines

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 (9,996,549 bytes) utf-8, LF About 10MB of people objects, fitted to within 5% of the nominal size.
Snippets
<a href="https://loremfile.dev/json/10mb.json">download</a>
curl -O https://loremfile.dev/json/10mb.json
1mb.json 997.7 KB (997,720 bytes) utf-8, LF About 1MB of people objects, fitted to within 5% of the nominal size.
Snippets
<a href="https://loremfile.dev/json/1mb.json">download</a>
curl -O https://loremfile.dev/json/1mb.json
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
<a href="https://loremfile.dev/json/all-types.json">download</a>
curl -O https://loremfile.dev/json/all-types.json
nested-100-levels.json 1.4 KB (1,380 bytes) utf-8, LF An object nested 100 levels deep, for parsers with a recursion limit.
Snippets
<a href="https://loremfile.dev/json/nested-100-levels.json">download</a>
curl -O https://loremfile.dev/json/nested-100-levels.json
people-10.json 5.2 KB (5,186 bytes) utf-8, LF An array of 10 people objects, pretty-printed with two-space indentation.
Snippets
<a href="https://loremfile.dev/json/people-10.json">download</a>
curl -O https://loremfile.dev/json/people-10.json
people-1000.json 512.7 KB (512,687 bytes) utf-8, LF An array of 1,000 people objects, pretty-printed with two-space indentation.
Snippets
<a href="https://loremfile.dev/json/people-1000.json">download</a>
curl -O https://loremfile.dev/json/people-1000.json

Every JSON file in one command, each checked against its hash: npx loremfile get --format json, or loremfile get --format json after pip install loremfile.

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