A 1 MB PNG test file
File info
| File Format | PNG |
|---|---|
| File Size | 1 MB(1,048,576 bytes) |
| MIME Type | image/png |
| MD5 | fdd94dea432b5c61c020b0e81e8a3f77 |
| SHA-1 | e2eb1ae626daff59de3c54da78b4252ad9e0af58 |
| SHA-256 | 253b8fd425dc4edca22bcc8ddc3731aaf772df680621715e7cf008dc56a1b2c3 |
Download via command line
curl -O https://devlab.itlibra.com/files/images/png/png-1mb.png
wget https://devlab.itlibra.com/files/images/png/png-1mb.png
Invoke-WebRequest -Uri "https://devlab.itlibra.com/files/images/png/png-1mb.png" -OutFile "png-1mb.png"
About this file
A 1 MB test file in PNG format, sized to exactly 1,048,576 bytes. Free to download with no signup, for verifying upload limits and file-handling behaviour.
The MD5, SHA-1 and SHA-256 values listed above are the real digests of this file. Recomputing them after download confirms the transfer was not corrupted, and they double as known-good expected values when testing a hashing library.
What this size means in practice
1 MB is exactly the nginx client_max_body_size default (1m). Behind a reverse proxy where nobody set that directive, anything larger never reaches your application — nginx answers 413 Request Entity Too Large itself.
That makes it the ideal size for reproducing the classic incident where the app limit was raised to 10 MB yet uploads still fail at 1 MB. If the 413 never appears in your application log, the cause is almost always the proxy layer in front of it.
Getting a feel for this size
On a 10 Mbps link the transfer takes roughly 839 ms, and about 84 ms at 100 Mbps. Base64-encoded it grows to roughly 1,365 KB.
Estimating a photographic PNG at roughly 2 bytes per pixel, this size works out to around 524,288 pixels — about 836 × 627 px at a 4:3 aspect ratio. Compression varies enormously with image content, so treat this purely as an order-of-magnitude figure.
What to check for this format
PNG is lossless and carries an alpha channel. Every file starts with the fixed 8-byte signature 89 50 4E 47 0D 0A 1A 0A, followed by IHDR / IDAT / IEND chunks. The key question for upload validation is whether your code identifies the file by those leading bytes rather than by its extension.
- Whether the alpha channel survives resize and conversion — converting to JPEG destroys it
- Whether image libraries such as GD, ImageMagick, or sharp hit their memory ceiling — PNG memory use scales with decoded pixel count, not file size
- Whether metadata such as tEXt chunks is stripped — PNG has no EXIF, but text chunks can retain information
FAQ
- Is this file free to use?
- Yes — fully free and no signup required. Use it for any commercial or non-commercial test/verification purpose.
- What is inside the file?
- Dummy data generated for testing — sized to match the listed size exactly.
- What are the hash values for?
- Verify integrity after download or use them as test data for hashing libraries.
Other sizes in the same format
Other formats at the same size
1,048,576 bytes
image/jpeg
1,048,576 bytes
image/webp
1,048,576 bytes
image/gif
1,048,576 bytes
application/pdf
1,048,764 bytes
application/zip
1,048,576 bytes
text/csv
1,048,578 bytes
application/json
1,048,576 bytes
text/plain