Practical guide
Read image metadata locally and identify each field's source
An image can contain several metadata records with similar labels. This walkthrough uses a known JPEG to find the actual field, its container and its raw value, then saves the reading without uploading the image.
18 October 2026 · Check AI Free
Start with a JPEG whose fields are known
Download the synthetic GPS JPEG below, or use an original JPEG you are allowed to inspect. The example is a project-authored 4 × 3 image with fictional camera and location claims. Its current reading contains 18 records: camera fields, description, MakerNote bytes, stored GPS fields and a clearly named derived position. A record count is an inventory of this reader's output, not an authenticity score.
The reader supports JPEG/WebP files up to 20 MiB and PNG files up to 10 MiB. PNG text has separate limits: 32 fields, 256 KiB per decoded field and 1 MiB total decoded text. It reads metadata without decoding the image pixels.
- Download the synthetic GPS JPEG — Project-authored 4 × 3 image and fictional stored fields, fixture v1. It is not a camera capture or a private person's photograph.
Read and save the actual records
Step 1
Choose the downloaded JPEG
Open the EXIF viewer and use Choose a photo for local metadata reading. Select gps.jpg. Wait for the field count and container dimensions; the example reads as JPEG, 4 × 3 pixels, with 18 records.
Step 2
Follow a field back to its source
Under EXIF, find Camera make. Its stable ID is IFD0:0x010f and its fictional value is Orbit. The source says JPEG APP1 EXIF with a byte offset. Camera model is IFD0:0x0110; Date taken is EXIF:0x9003. Those IDs distinguish fields more reliably than their human-readable labels.
Step 3
Separate display formatting from stored values
Orientation displays 6 with an explanation. The JSON raw value remains the number 6. GPS degree/minute/second values retain numerator/denominator pairs; they are not rewritten from a rounded decimal. MakerNote is retained as raw bytes without interpreting its private structure.
Step 4
Select groups and preview a report
In Preview and export this reading, select the groups you need. Leave Include the input filename in this report unchecked. Click Preview JSON, read the selected values and warnings, then Download JSON. The downloaded file is image-metadata.json. It includes read_status, coverage, source information and one record per occurrence.
What you should find
The source offset locates bytes in this file. It may change after export even when the value stays the same. Neither the camera name nor the date proves who created the image or when the pixels were captured.
| Field | Stable ID | Expected example output |
|---|---|---|
| Camera make | IFD0:0x010f | Orbit — a fictional stored claim |
| Orientation | IFD0:0x0112 | 6; raw numeric value retained |
| Date taken | EXIF:0x9003 | 2020:01:02 03:04:05; no timezone is inferred |
| Latitude | GPS:0x0002 | 33/1, 51/1, 31/1; the separate reference is S |
An empty result and an incomplete result need different next steps
A valid metadata-free file can produce read_status empty. A warning about a damaged TIFF directory, unknown IPTC encoding or unexpanded storage instead produces a partial reading. Keep that warning with the report. A damaged outer image container is rejected; it is not labeled metadata-free.
The no-GPS sample still has camera, description and MakerNote records. It is a useful reminder that missing GPS does not mean missing metadata. For a real-camera comparison, obtain the original P01 photograph from its Commons page. The current reader produces 76 records for that original, and 43 directly comparable TIFF values matched Pillow 12.3.0 in our independent reference check. The older research measured selected field presence; its historical counts describe that earlier reader.
- Download the JPEG without GPS — Camera and other EXIF fields remain.
- P01 original photograph on Wikimedia Commons — Thomas Bresson, CC BY 2.0. Use the original-file download; this site does not mirror it.
Sources and reproducible inputs
- Download the synthetic GPS JPEG — Project-authored 4 × 3 image and fictional stored fields, fixture v1. It is not a camera capture or a private person's photograph.
- Eight-photo metadata survival experiment — Original-source attribution and exact local export settings. The originals are Thomas Bresson / CC BY 2.0; the experiment did not upload them to social platforms.
Continue with your file
- Export JSON and CSV — Preserve repeated values and handle spreadsheet-sensitive text.
- Compare metadata in two files — Find which supported records survived an export.
- Photo privacy workflow — Choose a cleaning action and recheck the downloaded copy.