Skip to content

A 100 MB PNG test file

100% Free No signup Instant download Browser-only 5 languages
Free download(100 MB)

png-100mb.png

File info

File Format PNG
File Size 100 MB(104,857,600 bytes)
MIME Type image/png
MD5 8502378977e2b6fe2fdd3c80372a0104
SHA-1 0f8d52381b21209c11eaba412ec918f7abdd9222
SHA-256 01e171a4827a97dd6d07efd3c28b367196b7b90396b2eda097292d0d367cdbbc

Download via command line

curl
curl -O https://devlab.itlibra.com/files/images/png/png-100mb.png
wget
wget https://devlab.itlibra.com/files/images/png/png-100mb.png
PowerShell
Invoke-WebRequest -Uri "https://devlab.itlibra.com/files/images/png/png-100mb.png" -OutFile "png-100mb.png"

About this file

A 100 MB test file in PNG format, sized to exactly 104,857,600 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

100 MB is GitHub's hard per-file push limit and also the upload cap through Cloudflare's free plan. It is likewise the point where AWS S3 recommends multipart upload instead of a single PUT.

It also exercises your timeout configuration. On a 10 Mbps link the transfer alone takes about 80 seconds, so leaving PHP's max_execution_time (default 30s) or nginx's fastcgi_read_timeout (default 60s) untouched makes the upload fail on a timeout rather than on a size check.

Getting a feel for this size

On a 10 Mbps link the transfer takes roughly 83.9 seconds, and about 8.4 seconds at 100 Mbps. Base64-encoded it grows to roughly 136,533 KB.

Estimating a photographic PNG at roughly 2 bytes per pixel, this size works out to around 52,428,800 pixels — about 8,361 × 6,271 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.