Intentionally Corrupt — Truncated JPEG
An intentionally corrupt JPEG, truncated to half its bytes, for testing how a decoder handles incomplete image data. This is not a valid image by design.

Specifications
- Width
- 400
- Height
- 300
- Corruption
- truncated to 50% of bytes
- Intentionally Corrupt
- true
What is a .jpg file?
JPG is the common extension for JPEG, a lossy raster format that uses discrete cosine transform compression tuned for photographic images. It is 8-bit truecolor with no alpha channel, and quality is traded against file size via a compression factor. It is ubiquitous for photos on the web and from cameras.
How to use this file
Use an example JPG to test decoders, EXIF/metadata parsers, re-encoding quality, and orientation handling, or to confirm converters and image pipelines process baseline and progressive scans correctly.
Related files
- epubEPUB — Intentionally Invalid (bad OCF mimetype)An intentionally invalid EPUB: identical to the valid twin except its OCF mimetype entry is compressed and mislabelled as application/zip — a real EPUB spec violation. For testing how readers and validators handle a malformed container. Clearly labelled; harmless content.
- pdfIntentionally Corrupt — Truncated PDFAn intentionally corrupt PDF, truncated to 60% of its bytes, for testing how a PDF parser handles a damaged file. Not a valid document by design.
- jsonIntentionally Invalid JSONAn intentionally invalid JSON file with a trailing comma and a missing closing brace — for testing parser error handling and messages. Not valid JSON by design.
- csvMessy CSV (quoted commas, newlines, ragged rows)A deliberately messy CSV: a quoted field with a comma, a quoted field with an embedded newline, escaped double-quotes, and ragged rows with too few and too many fields — the cases that break naïve parsers.
- jsonProduct Instance — Invalid (JSON)A product object that deliberately violates the product JSON Schema in five ways (out-of-range id, empty name, non-positive price, wrong boolean type, an extra property) — the negative case for testing validator error reporting.
- gifAnimated GIF (8 frames)An 8-frame looping animated GIF of a moving dot — tests animation handling, first-frame extraction, and GIF parsing.
Generated by generation/images_edgecases.py. Free for any use, no attribution required — license.