test image generator
Produce an image at an exact width and height, as PNG or JPEG, with a solid fill or noise. Generated by canvas in your browser, so nothing is downloaded from a server and you can make one of any size on demand.
Runs in your browser — nothing is uploadedExact dimensions matter
Upload validators, thumbnailers and layout code break at specific sizes: 1×1, a single
pixel taller than a limit, an extreme aspect ratio, or dimensions large enough that
width × height × 4 exceeds available memory. Being able to make the exact size that
fails is faster than hunting for a sample.
Solid fill or noise
A solid fill compresses to almost nothing, so a 4000×4000 PNG can be a few kilobytes: ideal for testing dimension limits without a large transfer. Noise barely compresses at all, so the same dimensions produce a large file: use it when the size in bytes is what you need to test.
What canvas cannot do
Output is re-encoded, so there is no EXIF, no colour profile, no progressive JPEG and no animation. For those, and for deliberately broken images, use the stored image fixtures, which include a bad CRC, a truncated PNG, both TIFF byte orders and an SVG carrying a script.
Questions
How do I make a large image file for upload testing?
Use noise rather than a solid fill. Noise does not compress, so the file size grows with the dimensions. A solid fill of the same size stays tiny.
Can I generate an image with EXIF data?
Not here. Canvas re-encodes and drops all metadata. Use a stored fixture if you need metadata present.
Is the image generated on a server?
No. It is drawn by canvas in your browser and saved directly from the page.
What size breaks most image pipelines?
Very large dimensions, because a decoder that allocates width x height x 4 bytes up front needs roughly 256 MB for an 8000x8000 image regardless of how small the file is.