Download 2 MB JSON file for testing

Test JSON parsing and the byte size your endpoint accepts. The preset is 2 MiB (2,097,152 bytes); choose MB for decimal megabytes.

2,097,152 bytes · built in your browser, nothing uploaded
2,097,152 bytes
2 MiB · JSON · 60 B
Exact size

1 MB = 1,000,000 B · 1 MiB = 1,048,576 B

Advanced: test an upload limit

Enter the byte limit above, then choose one byte below, the exact limit or one byte above. Each choice uses the same base: 2,097,152 B. Generate and download each file to test your endpoint.

Where a 2 MB JSON comes up

  • Testing API request size limits with a realistic payload.
  • Checking Express apps that never changed express.json() defaults.
  • Benchmarking JSON parsing and validation on the client.

Limits it lands on

  • Express: express.json() limits bodies to 100kb by default, so this payload is rejected with 413 unless the limit is raised.
  • Django: DATA_UPLOAD_MAX_MEMORY_SIZE is 2.5 MB for request bodies, so this JSON is accepted on default settings.

What is inside the file

Shape: {"generator":"byterivet","records":[…],"_padding":"…"} — each record has id, name, active and score fields, and a trailing string field makes the size exact.

It parses with JSON.parse, jq and any standard library; there are no comments or trailing commas.

Questions

How many records are there?

35,087, followed by one padding field.

Why does my Express server return 413?

express.json() defaults to a 100kb limit. Pass { limit: "5mb" } (or similar) to raise it.

Noticed an issue with this test file? Report an issue →