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

10 JPEG test files from 4.6 KB to 10 MB: CMYK, progressive, EXIF orientation 6, EXIF orientation 8, 4000x3000. Direct URLs, SHA-256 per file, CC0.

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

`jpg/exif-orientation-6-640x480.jpg` and `jpg/exif-orientation-8-640x480.jpg` store their
pixels at 480x640 and carry EXIF orientations 6 and 8: a viewer that honours the tag shows them
upright at 640x480, and one that ignores it shows them sideways.

`jpg/cmyk-640x640.jpg` is CMYK, which a pipeline that assumes RGB converts wrongly or refuses.
`jpg/progressive-1920x1080.jpg` is progressive, decoded in passes, where `jpg/1920x1080.jpg` is
baseline at the same size: 30,994 bytes against 56,817, and a decoder that supports only
baseline fails on the first.

`jpg/4000x3000.jpg` is 4000x3000 in 279,204 bytes, for decoders and thumbnailers that must
downscale a large frame. `jpg/100x100.jpg` and `jpg/640x480.jpg` are small RGB test cards,
4,615 and 14,992 bytes. `jpg/1mb.jpg` and `jpg/10mb.jpg` are 991,379 and 10,006,097 bytes of
seeded noise, for upload limits that need a real image of a known size.

## Files

| Path | Size | MIME | Properties |
|---|---|---|---|
| [`jpg/100x100.jpg`](https://loremfile.dev/jpg/100x100.jpg) | 4.6 KB (4,615 bytes) | `image/jpeg` | 100x100, RGB |
| [`jpg/10mb.jpg`](https://loremfile.dev/jpg/10mb.jpg) | 10 MB (10,006,097 bytes) | `image/jpeg` | 1024x4035, RGB |
| [`jpg/1920x1080.jpg`](https://loremfile.dev/jpg/1920x1080.jpg) | 56.8 KB (56,817 bytes) | `image/jpeg` | 1920x1080, RGB |
| [`jpg/1mb.jpg`](https://loremfile.dev/jpg/1mb.jpg) | 991.4 KB (991,379 bytes) | `image/jpeg` | 1024x400, RGB |
| [`jpg/4000x3000.jpg`](https://loremfile.dev/jpg/4000x3000.jpg) | 279.2 KB (279,204 bytes) | `image/jpeg` | 4000x3000, RGB |
| [`jpg/640x480.jpg`](https://loremfile.dev/jpg/640x480.jpg) | 15 KB (14,992 bytes) | `image/jpeg` | 640x480, RGB |
| [`jpg/cmyk-640x640.jpg`](https://loremfile.dev/jpg/cmyk-640x640.jpg) | 25.3 KB (25,267 bytes) | `image/jpeg` | 640x640, CMYK |
| [`jpg/exif-orientation-6-640x480.jpg`](https://loremfile.dev/jpg/exif-orientation-6-640x480.jpg) | 16 KB (16,048 bytes) | `image/jpeg` | 480x640, RGB |
| [`jpg/exif-orientation-8-640x480.jpg`](https://loremfile.dev/jpg/exif-orientation-8-640x480.jpg) | 16 KB (16,011 bytes) | `image/jpeg` | 480x640, RGB |
| [`jpg/progressive-1920x1080.jpg`](https://loremfile.dev/jpg/progressive-1920x1080.jpg) | 31 KB (30,994 bytes) | `image/jpeg` | 1920x1080, RGB |

## Superseded

- `jpg/cmyk-640x480.jpg` is replaced by `jpg/cmyk-640x640.jpg`. The old URL still serves the same bytes.

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