Download 5 MB binary file for testing

Test transfer, storage or upload-size limits with raw bytes. The preset is 5 MiB (5,242,880 bytes); choose MB for decimal megabytes.

5,242,880 bytes · built in your browser, nothing uploaded
5,242,880 bytes
5 MiB · BIN · 1 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: 5,242,880 B. Generate and download each file to test your endpoint.

Where a 5 MB BIN comes up

  • Testing a serverless upload route that should switch to direct object-storage uploads above a few megabytes.
  • Comparing upload speed and latency for a small but noticeable file.
  • Checking download checksums in CI with a file whose hash never changes.

Limits it lands on

  • Vercel Functions accept request bodies up to 4.5 MB, so this file is rejected.
  • AWS Lambda accepts 6 MB, so the raw bytes fit, but base64 encoding through API Gateway increases them to about 6.99 million bytes, over the limit.

What is inside the file

A fixed 65,536-byte block of printable ASCII characters (codes 33–122, generated by xorshift from a fixed seed) is repeated until the exact size. There is no header.

Output is identical every time. SHA-256: ed35bcfce0c2937317c778293742a66b080c10d6f37badb2960de2093dea084c.

Questions

Does gzip affect speed tests?

Only slightly: gzip reduces this file to about 82% because its 32 KB window cannot see the 64 KiB repetition. Brotli and zstd with larger windows reduce it to about 1%, so turn off transfer compression for throughput tests.

Why does a 5 MB file fail on a Lambda route?

Through API Gateway, binary bodies are base64-encoded. 5 MiB becomes about 7 million bytes, more than the 6 MB invocation limit.

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