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.
| File | Size | Properties | Description |
|---|---|---|---|
10mb.json
|
10 MB | utf-8, LF | About 10MB of people objects, fitted to within 5% of the nominal size.
Snippets
|
1mb.json
|
997.7 KB | utf-8, LF | About 1MB of people objects, fitted to within 5% of the nominal size.
Snippets
|
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
|
nested-100-levels.json
|
1.4 KB | utf-8, LF | An object nested 100 levels deep, for parsers with a recursion limit.
Snippets
|
people-10.json
|
5.2 KB | utf-8, LF | An array of 10 people objects, pretty-printed with two-space indentation.
Snippets
|
people-1000.json
|
512.7 KB | utf-8, LF | An array of 1,000 people objects, pretty-printed with two-space indentation.
Snippets
|
Related formats
File names follow the naming grammar. Verify a download against sha256sums.txt.