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.
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.
Reference and checks
Noticed an issue with this test file? Report an issue →