1 MB JSON sample file

A JSON file of exactly 1,048,576 bytes. It is a valid JavaScript Object Notation file, generated for this site and checked with an independent parser.

Download

sample-json-1mb.json

1 MB1,048,576 bytes

Download 1 MB JSON

Direct download. No sign-up and no waiting.

Type
application/json
SHA-256
b2f9926708ffba504b4c177aadb078a7999093eeb0e22b31f8ea03bcd2adc0b2
Direct URL
https://sampletestfiles.com/downloads/json/sample-json-1mb.json

What is in this file

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

Records3,029
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-1mb.json, exactly as they appear in the file.

{
  "generator": "SampleTestFiles",
  "description": "Sample JSON file (1 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 1 MB matters

A 1,048,576-byte file: exactly the default upload limit of nginx, Spring Boot and Next.js. These are the default limits a file of this size is useful for testing:

SystemLimitNote
nginx1 MB by default (client_max_body_size)A multipart upload of this file exceeds the limit by the size of the form boundaries.
Spring Boot multipart1 MB per file by default (max-file-size)A file of exactly 1 MB is at the limit.
Next.js API routes and Server Actions1 MB by defaultLarger bodies need the size limit raised in configuration.
Cloud Firestore documents1 MiB (1,048,576 bytes)The same number of bytes as this file.
Apache Kafka messagesAbout 1 MB by defaultBrokers reject larger records unless message.max.bytes is raised.

All 1 MB sample files

Use this file for

  • Download tests on mobile connections
  • Seeding front-end components with data
  • Mocking API responses

Testing notes for JSON

  • 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.
  • The JSON standard does not say what happens with duplicate keys, so different parsers keep different values.

JSON format reference

Technical details

File namesample-json-1mb.json
FormatJSON (JavaScript Object Notation)
Extension.json
MIME typeapplication/json
Size1,048,576 bytes (1 MB)
KindText
SHA-256b2f9926708ffba504b4c177aadb078a7999093eeb0e22b31f8ea03bcd2adc0b2
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-1mb.json 'https://sampletestfiles.com/downloads/json/sample-json-1mb.json'
sha256sum sample-json-1mb.json     # Linux
shasum -a 256 sample-json-1mb.json # macOS

On Windows, run Get-FileHash sample-json-1mb.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 1 MB?
Yes. It is 1,048,576 bytes, which is 1 MB in the binary units that operating systems and server limits use (1 KB = 1,024 bytes).
What is inside the 1 MB JSON file?
An object with a "records" array of 3,029 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.