Sample PNG file — free download
PNG images for upload forms, thumbnailers and image pipelines — from a 1x1 pixel to an 8000x8000 stress test, plus files with a deliberately broken CRC or truncated data.
8 ready-made PNG test files
| File | Size | What it catches | |
|---|---|---|---|
| png-1x1.png | 70 bytes | Aspect-ratio maths that divides by (width - 1), and crop logic that assumes an image is larger than its target box. | download |
| no-extension | 183 bytes | The mirror image of the case above: pipelines that route on extension will reject a perfectly good image. Content sniffing should accept this one. | download |
| png-interlaced.png | 426 bytes | Decoders that trust the IHDR interlace byte without validating the IDAT layout, and pipelines that assume every PNG they receive is progressive-safe. | download |
| png-truncated.png | 719 bytes | Decoders that return a half-drawn image rather than an error, and upload validators that only sniff the first 8 magic bytes. | download |
| png-bad-crc.png | 1.3 KB | Decoders that skip CRC verification entirely. Useful for confirming your library actually validates integrity rather than assuming it. | download |
| png-valid-256.png | 1.3 KB | Baseline. A misrendered checkerboard makes stride and colour-order bugs obvious at a glance. | download |
| png-alpha-gradient.png | 2.2 KB | Thumbnailers that flatten alpha onto black instead of white, and format converters to JPEG that produce a black box where transparency was. | download |
| png-8000x8000.png | 259 KB | Image processors with no pixel-count limit. A small download that OOMs the worker is the classic decompression-bomb denial of service. Pillow, for reference, warns above ~89M pixels. | download |
Every file is generated from source — no third-party copyright — and each has its own page with a published SHA-256 you can verify after download.
Questions
Where can I download a 1x1 pixel PNG?
The 1x1 PNG below is the smallest valid PNG — useful as a tracking-pixel fixture or a minimal upload test.
How do I test image upload limits?
The 8000x8000 PNG is large in both dimensions and bytes, which catches decoders that allocate width x height x 4 bytes up front.
What does a bad CRC in a PNG do?
Each PNG chunk carries a CRC32. The bad-CRC file has a deliberately wrong one — strict decoders reject it, lenient ones display it anyway. Good for testing which behaviour you have.