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

6 JSON test files from 708 B to 10 MB. Direct URLs, a SHA-256 for each and CC0, so curl and CI can fetch them with no signup and no keys.

The page: <https://loremfile.dev/json>.

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

| Path | Size | MIME | Properties |
|---|---|---|---|
| [`json/people-10.json`](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](https://loremfile.dev/ndjson), [YAML](https://loremfile.dev/yaml), [TOML](https://loremfile.dev/toml) and
[XML](https://loremfile.dev/xml).

## Files

| Path | Size | MIME | Properties |
|---|---|---|---|
| [`json/10mb.json`](https://loremfile.dev/json/10mb.json) | 10 MB (9,996,549 bytes) | `application/json; charset=utf-8` | utf-8, LF, 353,195 lines |
| [`json/1mb.json`](https://loremfile.dev/json/1mb.json) | 997.7 KB (997,720 bytes) | `application/json; charset=utf-8` | utf-8, LF, 35,430 lines |
| [`json/all-types.json`](https://loremfile.dev/json/all-types.json) | 708 B | `application/json; charset=utf-8` | utf-8, LF, 23 lines |
| [`json/nested-100-levels.json`](https://loremfile.dev/json/nested-100-levels.json) | 1.4 KB (1,380 bytes) | `application/json; charset=utf-8` | utf-8, LF, 1 line |
| [`json/people-10.json`](https://loremfile.dev/json/people-10.json) | 5.2 KB (5,186 bytes) | `application/json; charset=utf-8` | utf-8, LF, 182 lines |
| [`json/people-1000.json`](https://loremfile.dev/json/people-1000.json) | 512.7 KB (512,687 bytes) | `application/json; charset=utf-8` | utf-8, LF, 18,237 lines |

The same list as JSON: <https://loremfile.dev/json/index.json>.
