2 MB JSON sample file

A JSON file of exactly 2,097,152 bytes. It is a valid JavaScript Object Notation file, generated for this site and checked with an independent parser. Use it wherever you need a 2 MB sample, test or dummy JSON file.

Download

sample-json-2mb.json

2 MB2,097,152 bytes

Download 2 MB JSON

Direct download. No sign-up and no waiting.

Type
application/json
SHA-256
9c0fb9db07a22b2ae37a5da27a2f00a28840a8937d72a7ca0a3b71243f2b960e
Direct URL
https://sampletestfiles.com/downloads/json/sample-json-2mb.json

What is in this file

An object with a "records" array of 6,052 fictional customer objects, each with nested objects, an array and a nullable field. A final "padding" string brings the file to the exact size.

Records6,052
Root typeObject
Value types usedstring, number, boolean, null, array, object
EncodingUTF-8 (ASCII characters only)
Indentation2 spaces, one record per line

How the file begins

The opening lines of sample-json-2mb.json, exactly as they appear in the file.

{
  "generator": "SampleTestFiles",
  "description": "Sample JSON file (2 MB) for testing",
  "records": [
    {"id":1,"uuid":"a6cf3b6b-cd57-4173-a942-a2339c75f449","name":{"first":"Ethan","last":"Zeller"},"email":"ethan.zeller1@example.com","active":true,"…
    {"id":2,"uuid":"e86fd25c-cc5a-44ae-a8ee-4439d8d6c68e","name":{"first":"Elena","last":"Underhill"},"email":"elena.underhill2@example.net","active":…

Preview

Shows the first 64 KB of the file.

Where 2 MB matters

A 2,097,152-byte file: exactly the default upload limit of PHP, and twice the default of nginx and Spring Boot. These are the default limits a file of this size is useful for testing:

SystemLimitNote
PHP2 MB per uploaded file by default (upload_max_filesize)A file of exactly 2 MB is accepted; one byte more is refused.
nginx1 MB by default (client_max_body_size)Rejected with 413 Request Entity Too Large.
Spring Boot multipart1 MB per file by default (max-file-size)Rejected unless the property is raised.
Django2.5 MB in memory by default2 MB is held in memory; the 5 MB sample is streamed to a temporary file.
Vercel Functions4.5 MB request bodyAccepted, including as base64 at about 2.8 MB.

All 2 MB sample files

Use this file for

  • Finding out whether a 1 MB default has been raised
  • Testing parsers, schema validators and serialisers
  • Load-testing endpoints with large payloads

Testing notes for JSON

  • Most parsers read numbers as 64-bit floats, so integers above 2^53 silently lose precision. Send large identifiers as strings.
  • Parsing a large document with a DOM-style parser needs several times its size in memory. Use a streaming parser or JSON Lines for big data.

JSON format reference

Technical details

File namesample-json-2mb.json
FormatJSON (JavaScript Object Notation)
Extension.json
MIME typeapplication/json
Size2,097,152 bytes (2 MB)
KindText
SHA-2569c0fb9db07a22b2ae37a5da27a2f00a28840a8937d72a7ca0a3b71243f2b960e
Created2026-10-10
ValidationExact size, signature bytes and structure checked when the file was generated
PreviewAvailable on this page
SourceGenerated for this site; not copied from elsewhere
LicenceFree to use, modify and redistribute (terms)
CategoryData

Validated for expected format and integrity. As with any download, scan the file with your own security tools before opening it. How files are made and checked

Download from the command line and verify

Fetch the file with curl, then compare its checksum with the SHA-256 value above.

curl -o sample-json-2mb.json 'https://sampletestfiles.com/downloads/json/sample-json-2mb.json'
sha256sum sample-json-2mb.json     # Linux
shasum -a 256 sample-json-2mb.json # macOS

On Windows, run Get-FileHash sample-json-2mb.json -Algorithm SHA256 in PowerShell. A matching value proves that the download is complete and unaltered.

Related files

Questions about this file

Is this file exactly 2 MB?
Yes. It is 2,097,152 bytes, which is 2 MB in the binary units that operating systems and server limits use (1 KB = 1,024 bytes).
What is inside the 2 MB JSON file?
An object with a "records" array of 6,052 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.