Test files › Size ladder › 5mb.bin
5.0 MB test file
Exactly 5,242,880 bytes of deterministic incompressible pseudo-random data.
↓ Download 5mb.bin| Filename | 5mb.bin |
| Format | Binary |
| Size | 5.0 MB (5,242,880 bytes) |
| MIME type | application/octet-stream |
| SHA-256 | e9a81188e0425fa657c93cec88b47707f5c2c415cd2168f8cdf764df9477dc51 |
What this file catchesUpload and download size-limit boundaries. Incompressible, so transfer-encoding gzip gives no free win and measured throughput reflects real bandwidth.
Handle it in code
Each snippet below was run against this exact file with Python 3.14.4 and Node 24.15.0 when this page was built, and the output shown is what it printed.
Python
Verify the download against the SHA-256 published on this page. file_digest (Python 3.11+) reads in chunks, so a 250 MB file does not need 250 MB of memory.
import hashlib
with open("5mb.bin", "rb") as f:
print(hashlib.file_digest(f, "sha256").hexdigest())Run against this file, it prints: e9a81188e0425fa657c93cec88b47707f5c2c415cd2168f8cdf764df9477dc51
Node.js
The same in Node, streaming the file through the hash.
const crypto = require('node:crypto');
const fs = require('node:fs');
const hash = crypto.createHash('sha256');
fs.createReadStream('5mb.bin')
.on('data', (chunk) => hash.update(chunk))
.on('end', () => console.log(hash.digest('hex')));Run against this file, it prints: e9a81188e0425fa657c93cec88b47707f5c2c415cd2168f8cdf764df9477dc51
Related guides and tools
Large test files (1 KB to 2 GB)Large file upload testing1 GB and 2 GB test filesDownload speed test filesRange requests and resumable downloadsCheck a file's real typeVerify its SHA-256
Download & verify
curl -fsSL -o "5mb.bin" "https://files.hexaqa.com/size/5mb.bin"
curl -fsSL "https://files.hexaqa.com/size/5mb.bin" | sha256sum
# expect: e9a81188e0425fa657c93cec88b47707f5c2c415cd2168f8cdf764df9477dc51