Test files › Size ladder › 0b.bin
0 byte test file
Empty file, exactly 0 bytes.
↓ Download 0b.bin| Filename | 0b.bin |
| Format | Binary |
| Size | 0 bytes (0 bytes) |
| MIME type | application/octet-stream |
| SHA-256 | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 |
What this file catchesZero-byte file. The single most under-tested upload case: many validators check the MIME type and extension but never assert size > 0, so an empty file passes and breaks downstream processing.
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("0b.bin", "rb") as f:
print(hashlib.file_digest(f, "sha256").hexdigest())Run against this file, it prints: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
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('0b.bin')
.on('data', (chunk) => hash.update(chunk))
.on('end', () => console.log(hash.digest('hex')));Run against this file, it prints: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
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 "0b.bin" "https://files.hexaqa.com/size/0b.bin"
curl -fsSL "https://files.hexaqa.com/size/0b.bin" | sha256sum
# expect: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855