Skip to content
checkaifree

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

  1. 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.

    Open the local EXIF viewer

  2. 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.

  3. 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.

  4. 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.

What you should find
FieldStable IDExpected example output
Camera makeIFD0:0x010fOrbit — a fictional stored claim
OrientationIFD0:0x01126; raw numeric value retained
Date takenEXIF:0x90032020:01:02 03:04:05; no timezone is inferred
LatitudeGPS:0x000233/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.

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