20 MB JSON sample
A JSON file of exactly 20,971,520 bytes. It is a valid JavaScript Object Notation file, generated by this site. Compare its checksum and test it with the parser used by your application. Use it wherever you need a 20 MB sample, test or dummy JSON file.
Download
sample-json-20mb.json
20 MB20,971,520 bytes
Download 20 MB JSONCreated in your browser in a few seconds, then checked against the SHA-256 checksum. No sign-up.
- Type
- application/json
- SHA-256
4ac059b14292e45f935cb3e17972c96e7283b0a8766d6f5ccd132400a7ce7aeb- Delivery
- Created in your browser from static generator assets (how it works).
What is in this file
An object with a "records" array of 60,119 fictional customer objects, each with nested objects, an array and a nullable field. A final "padding" string brings the file to the exact size.
| Records | 60,119 |
|---|---|
| Root type | Object |
| Value types used | string, number, boolean, null, array, object |
| Encoding | UTF-8 (ASCII characters only) |
| Indentation | 2 spaces, one record per line |
How the file begins
The opening lines of sample-json-20mb.json, exactly as they appear in the file.
00000000 7b 0a 20 20 22 67 65 6e 65 72 61 74 6f 72 22 3a |{. "generator":|
00000010 20 22 53 61 6d 70 6c 65 54 65 73 74 46 69 6c 65 | "SampleTestFile|
00000020 73 22 2c 0a 20 20 22 64 65 73 63 72 69 70 74 69 |s",. "descripti|
00000030 6f 6e 22 3a 20 22 53 61 6d 70 6c 65 20 4a 53 4f |on": "Sample JSO|Preview
Creates the file in your browser and shows its first 64 KB.
Where 20 MB matters
A 20,971,520-byte file: right at the default attachment limit of Outlook, and just under the 25 MB ceilings of Gmail and GitHub web uploads. These are the default limits a file of this size is useful for testing:
| System | Limit | Note |
|---|---|---|
| Microsoft Outlook | 20 MB of attachments by default for internet mail accounts | This file is right at the limit; add a second attachment and it is exceeded. |
| Gmail | 25 MB per message | Under the limit, although email encoding adds about a third in transit. |
| GitHub web uploads | 25 MiB per file added through the browser | Accepted. Pushing with Git allows larger files. |
| Cloudflare Pages assets | 25 MiB per file | The largest round size that can be served as a static asset. |
| Amazon API Gateway | 10 MB payload | Rejected; the upload has to go directly to object storage. |
| ASP.NET Core (Kestrel) | About 28.6 MB request body by default | Accepted with room for the multipart overhead. |
Use this file for
- Measuring download speed from your own server or CDN
- Seeding front-end components with data
- Mocking API responses
Testing notes for JSON
- The JSON standard does not say what happens with duplicate keys, so different parsers keep different values.
- Most parsers read numbers as 64-bit floats, so integers above 2^53 silently lose precision. Send large identifiers as strings.
Technical details
| File name | sample-json-20mb.json |
|---|---|
| Format | JSON (JavaScript Object Notation) |
| Extension | .json |
| MIME type | application/json |
| Size | 20,971,520 bytes (20 MB) |
| Kind | Text |
| SHA-256 | 4ac059b14292e45f935cb3e17972c96e7283b0a8766d6f5ccd132400a7ce7aeb |
| Created | 2026-10-23 |
| Validation | See the listed size and SHA-256. Small downloads are checked in the browser; verify streamed downloads manually. A hash match does not prove parser compatibility. |
| Preview | Available on this page |
| Source | Generated in your browser by this site's generator; not copied from elsewhere |
| Licence | Free to use, modify and redistribute (terms) |
| Category | Data |
Check the stated structure and checksum against your application requirements. As with any download, scan the file with your own security tools before opening it. How files are made and checked
Verify your copy
This file is created in your browser, so it has no direct URL for curl or wget. The generator is designed to produce reproducible bytes. After saving, compare the checksum with the SHA-256 value above.
sha256sum sample-json-20mb.json # Linux
shasum -a 256 sample-json-20mb.json # macOSOn Windows, run Get-FileHash sample-json-20mb.json -Algorithm SHA256 in PowerShell. For scripts and pipelines, save the file once and keep your own copy.
Related files
Questions about this file
- Is this file exactly 20 MB?
- Yes. It is 20,971,520 bytes, which is 20 MB in the binary units that operating systems and server limits use (1 KB = 1,024 bytes).
- What is inside the 20 MB JSON file?
- An object with a "records" array of 60,119 fictional customer objects, each with nested objects, an array and a nullable field. A final "padding" string brings the file to the exact size.
- Why is there a "padding" field?
- JSON has no comments, so a final string member is used to bring each sized file to its exact byte count.