Test files › Images

Sample Images test files

What are image test files?

PNG, JPEG, GIF, WebP, BMP, TIFF, ICO and SVG files for upload forms and image pipelines: exact sizes from 1x1 to 8000x8000, and broken or disguised files including a bad CRC, a truncated PNG, an SVG carrying script and an executable named .jpg.

Sample image filesSample PNG fileFile signaturesMIME typesUpload validation checklist

22 free images test files for QA and developers: bmp-24bit.bmp, fake-jpeg-is-executable.jpg, favicon.ico, flat-96x96.webp and more. Each with a published…

FileFormatSizeWhat it catches
bmp-24bit.bmpBMP48.1 KB128x128 uncompressed 24-bit BMP with bottom-up row order.
fake-jpeg-is-executable.jpgJPEG (spoofed)2.1 KBA file named .jpg whose magic bytes are the DOS/PE "MZ" signature. Contains no executable code - just the header and filler.
favicon.icoICO145 bytesA 32x32 Windows ICO wrapping a PNG image (the modern ICO form).
flat-96x96.webpWEBP32 bytesA 96x96 lossless WEBP (VP8L) in a single flat colour, 32 bytes in total.
gif-animated.gifGIF2.4 KBA looping animated GIF: four frames, 200 ms each, with a NETSCAPE2.0 loop block.
gif-static.gifGIF774 bytes128x128 static GIF with a 4-colour palette and real LZW compression.
jpeg-baseline.jpgJPEG2.8 KB256x256 baseline JPEG, 4:2:0 chroma subsampling, quality ~85, encoded from source.
jpeg-tiny-16px.jpgJPEG774 bytes16x16 baseline JPEG - exactly one minimum coded unit.
no-extensionPNG (no extension)183 bytesA genuinely valid PNG with no file extension at all.
png-1x1.pngPNG70 bytesSingle opaque pixel. The smallest valid PNG this corpus produces.
png-8000x8000.pngPNG259 KB8000x8000 PNG of flat colour. Compresses to a few hundred KB but expands to roughly 256 MB in memory.
png-alpha-gradient.pngPNG2.2 KB256x256 PNG with a horizontal alpha ramp from fully transparent to fully opaque.
png-bad-crc.pngPNG1.3 KBStructurally complete PNG with a single corrupted byte inside the IDAT chunk CRC.
png-interlaced.pngPNG426 bytesPNG with the Adam7 interlace flag set in IHDR. Note: pixel data is stored non-interlaced, so strict decoders will reject it - that is intentional.
png-truncated.pngPNG719 bytesValid PNG header and partial IDAT, cut off before IEND.
png-valid-256.pngPNG1.3 KB256x256 RGBA checkerboard, non-interlaced, 8-bit.
svg-external-entity.svgSVG273 bytesSVG with a DOCTYPE declaring an external entity pointing at a local file path.
svg-plain.svgSVG303 bytesClean SVG with shapes and text, no scripts or external references.
svg-with-script.svgSVG457 bytesSVG containing an inline <script> block and an onload attribute. The payload only calls console.log and sets document.title - it is inert and does not exfiltrate anything.
tiff-rgb-be.tifTIFF27.2 KBThe same image written in Motorola (big-endian) byte order, which begins "MM" instead of "II".
tiff-rgb-le.tifTIFF27.2 KBA baseline uncompressed 96x96 RGB TIFF in Intel (little-endian) byte order.
transparent-1x1.webpWEBP32 bytesA 1x1 semi-transparent lossless WEBP, the smallest useful WEBP fixture.

← All test files