# Sample PNG images for testing uploads and viewers, free and CC0

8 PNG test files from 69 B to 1 MB: transparent, animated APNG, greyscale, 1x1 pixel, 1920x1080, 640x480, 100x100. Direct URLs, SHA-256 per file, CC0.

The page: <https://loremfile.dev/png>.

`png/transparent-256x256.png` is RGBA with an alpha ramp, so a pipeline that drops alpha or
composites onto black shows it wrong. `png/animated-apng-10frames-128x128.png` has 10 frames,
and a decoder that does not know APNG shows only the first, which is itself a valid PNG.

`png/grayscale-512x512.png` is a single greyscale channel (mode L), for code that assumes
three. `png/1x1.png` is one pixel in 69 bytes, the smallest valid PNG for upload and
placeholder paths.

`png/100x100.png`, `png/640x480.png` and `png/1920x1080.png` are RGB test cards at 1,387, 4,208
and 11,110 bytes, for resizers and thumbnailers. Each of `png/100x100.png`,
`png/640x480.png` and `png/1920x1080.png` prints its own dimensions and mode on the card, so a
resize or colour-mode bug shows in the output image itself. `png/1mb.png` is 1,000,147 bytes
of seeded noise at 1024x325, which PNG compression cannot shrink, for upload limits that need
a real image of a known size.

## Files

| Path | Size | MIME | Properties |
|---|---|---|---|
| [`png/100x100.png`](https://loremfile.dev/png/100x100.png) | 1.4 KB (1,387 bytes) | `image/png` | 100x100, RGB |
| [`png/1920x1080.png`](https://loremfile.dev/png/1920x1080.png) | 11.1 KB (11,110 bytes) | `image/png` | 1920x1080, RGB |
| [`png/1mb.png`](https://loremfile.dev/png/1mb.png) | 1 MB (1,000,147 bytes) | `image/png` | 1024x325, RGB |
| [`png/1x1.png`](https://loremfile.dev/png/1x1.png) | 69 B | `image/png` | 1x1, RGB |
| [`png/640x480.png`](https://loremfile.dev/png/640x480.png) | 4.2 KB (4,208 bytes) | `image/png` | 640x480, RGB |
| [`png/animated-apng-10frames-128x128.png`](https://loremfile.dev/png/animated-apng-10frames-128x128.png) | 9.1 KB (9,083 bytes) | `image/png` | 128x128, RGB |
| [`png/grayscale-512x512.png`](https://loremfile.dev/png/grayscale-512x512.png) | 1.9 KB (1,881 bytes) | `image/png` | 512x512, L |
| [`png/transparent-256x256.png`](https://loremfile.dev/png/transparent-256x256.png) | 3.2 KB (3,231 bytes) | `image/png` | 256x256, RGBA |

The same list as JSON: <https://loremfile.dev/png/index.json>.
