Try a reproducible metadata check

Reproduce synthetic metadata checks and review two licensed camera-file reports, with source attribution, hashes and clearly separated original and derivative results.

The color-grid experiments below use synthetic CC0 samples, not camera photographs; their names, times and GPS 0,0 are invented. The separate public-source camera-file reports use attributed photographs under their own licenses. Neither section guarantees device compatibility or anonymity.

Controlled sample compatibility matrix No photo handy? Try the public-sample walkthrough E-M10 & Sony A7 IV: licensed samples and reports

The source stores 120 × 80 pixels with Orientation 6. A decoder honoring that tag displays 80 × 120. Check the corner colors as well as the dimensions; do not apply a second rotation.

CC0-1.0 · 2026-10-24 · exifr 7.1.3

Initializing the tool…

Wait for the controls to become available before choosing or dropping files. If this takes too long, check your connection or script blocker and reload.

Controlled sample compatibility matrix

12 public synthetic cases with hashes and reference readings. Run them in your browser to check reading, display, re-encoding and selective JPEG cleanup separately.

These are generated grids and deliberately invalid test inputs, not camera photographs. Reference metadata readings were checked in Node; browser display and outputs are measured only when you run the checks. Matching a reference can include an expected failure. It is not camera certification, privacy clearance or a cross-browser guarantee.

exifr 7.1.3 · 2026-10-24 · CC0-1.0

Download reference manifest

Not run in this browser

Scroll the table horizontally to view every column.

Case / downloadReference readingThis browser: readingImage displayRe-encodingSelective JPEG
JPEG: EXIF, GPS 0,0, Orientation 6baseline.jpg1635 B · JPEG
SHA-256ddcde0a271cf267486d365354055c8f4b3974691bd99106bb1ddb8ae90091e3d

The reader returned fields

20 returned fields

The reader returned fields

Artist, DateTimeOriginal, ExposureTime, FNumber, GPSLatitude, GPSLatitudeRef, GPSLongitude, GPSLongitudeRef, ISO, JFIFVersion, Make, Model, Orientation, ResolutionUnit, ThumbnailHeight, ThumbnailWidth, XResolution, YResolution, latitude, longitude

Not run in this browser

Not run in this browserNot run in this browserNot run in this browser
Progressive JPEG: invented serial and creditprogressive.jpg1136 B · JPEG
SHA-2563f76dc61b4aabe067f28ec05d7c80b78d3c2ce7bf6fcfb635fdbf8de6993fb4d

The reader returned fields

9 returned fields

The reader returned fields

Artist, DateTimeOriginal, JFIFVersion, ResolutionUnit, SerialNumber, ThumbnailHeight, ThumbnailWidth, XResolution, YResolution

Not run in this browser

Not run in this browserNot run in this browserNot run in this browser
PNG: technical dimensionsplain.png270 B · PNG
SHA-25647751fc9981a0de7db4304a482f821721363143b12ea89c397914e4f45ff5e8a

The reader returned fields

7 returned fields

The reader returned fields

BitDepth, ColorType, Compression, Filter, ImageHeight, ImageWidth, Interlace

Not run in this browser

Not run in this browserNot run in this browserNot scheduled
WebP: reader format limitationplain.webp180 B · WEBP
SHA-2561c4026d6c15ab1305cce2bbb7011314d7fd331253e64eab1f8eeaa3644f312d7

This metadata reader does not support the detected format

Not run in this browser

Not run in this browserNot run in this browserNot scheduled
JPEG: no returned metadata fieldsno-fields.jpg1267 B · JPEG
SHA-25661aff5e7cd24329de50e36a3c5e6cededf47c7d5e3334eb93c6ac98e7de51a8e

Parsing completed without returned fields

0 returned fields

Not run in this browser

Not run in this browserNot run in this browserNot scheduled
PNG bytes with a JPG filenamemislabeled.jpg270 B · PNG
SHA-25647751fc9981a0de7db4304a482f821721363143b12ea89c397914e4f45ff5e8a

The reader returned fields

7 returned fields

The reader returned fields

BitDepth, ColorType, Compression, Filter, ImageHeight, ImageWidth, Interlace

Not run in this browser

Not run in this browserNot run in this browserNot scheduled
Empty file (negative test)empty.jpg0 B · Not identified
SHA-256e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855

The selected file is empty

Not run in this browser

Not run in this browserNot scheduledNot scheduled
Incomplete JPEG (negative test)truncated.jpg180 B · JPEG
SHA-256c893f8536a2e196b16b6a8661a46841358115fa4b5f9dbc7cb2ce72ccbcbe7b9

The reader could not complete metadata parsing

Not run in this browser

Not run in this browserNot scheduledNot scheduled
Non-image bytes (negative test)unrecognized.bin57 B · Not identified
SHA-256e382d7f18a0c62f5f3d53eff7b67ce7686cd6da6324527cb642308b6466ac3ac

No supported image signature identified

Not run in this browser

Not run in this browserNot scheduledNot scheduled
PNG: EXIF author and capture datemetadata.png444 B · PNG
SHA-256fa01cf3799a4c67b07a79a1470676add74d6839dae2ad17429133d58cc5279db

The reader returned fields

11 returned fields

The reader returned fields

Artist, BitDepth, ColorType, Compression, DateTimeOriginal, Filter, ImageHeight, ImageWidth, Interlace, Make, Model

Not run in this browser

Not run in this browserNot run in this browserNot scheduled
TIFF: readable metadata versus browser previewmetadata.tiff29072 B · TIFF
SHA-25609344eb682a79b7fb376f135121f75aade37446c125d90733238b20de6dac275

The reader returned fields

14 returned fields

The reader returned fields

Artist, BitsPerSample, Compression, ImageHeight, ImageWidth, Make, Model, ModifyDate, PhotometricInterpretation, PlanarConfiguration, RowsPerStrip, SamplesPerPixel, StripByteCounts, StripOffsets

Not run in this browser

Not run in this browserNot scheduledNot scheduled
JPEG: EXIF GPS removal leaves XMP locationmixed-xmp.jpg2047 B · JPEG
SHA-256e97307f7bd781b7329ba51daaa6a5c58894595b5141b87e4e158a84c3a79d980

The reader returned fields

21 returned fields

The reader returned fields

Artist, DateTimeOriginal, ExposureTime, FNumber, GPSLatitude, GPSLatitudeRef, GPSLongitude, GPSLongitudeRef, ISO, JFIFVersion, Make, Model, Orientation, ResolutionUnit, ThumbnailHeight, ThumbnailWidth, XResolution, YResolution, creator, latitude, longitude

Not run in this browser

Not run in this browserNot run in this browserNot run in this browser

Checks run sequentially on public samples only; no private photo is needed or uploaded. JPEG/WebP re-encoding may change pixels and color; MIME is the actual browser output. Selective cleanup checks standard EXIF fields, not all metadata: the XMP example deliberately retains location fields. TIFF is read-only here, and browser display support can differ without implying file damage. WebP outputs can be generated while metadata verification remains unavailable. The downloaded report includes browser information; this checker does not upload it.

What happens when you run it

  1. Fetch the public sample and verify its SHA-256 against the manifest.
  2. Read the original with exifr, keeping the stored capture-time string.
  3. Decode and draw to canvas, then encode JPEG at quality 0.92 using the same function as the remover.
  4. Read the newly encoded file and show what this reader returns. Download it and verify independently.

Initializing the tool…

Wait for the controls to become available before choosing or dropping files. If this takes too long, check your connection or script blocker and reload.

This checks selected metadata fields using one reader. It does not inspect every possible segment or prove camera support. JPEG is re-encoded; pixels, file size and color rendering may change. Technical format or color-profile data can remain. Visible faces, signs and image dimensions are not hidden by metadata removal.

Use the tools on your own copy

Public-source camera files: two reproducible reports

Two licensed photographs record E-M10 and ILCE-7M4 in their metadata. We tested these exact files, not cameras in our possession. Editable metadata is not authentication or a whole-model compatibility guarantee.

Downloads are metadata-reduced, primary-image-only derivatives, NOT unchanged camera originals. GPS, serials, dates, MakerNotes, previews, XMP/IPTC, comments, unknown APP segments and trailing data were not copied. Selected technical EXIF and attribution were written; ICC and recognized Adobe decoder data were retained. Visible scene details remain.

Olympus OM-D E-M10

Checked on: 2026-10-28 · exifr 7.1.3 · 4608 × 3456 px

Photograph and credit: Em1019 5153714.jpg · tomasz przechlewski

Image license: CC BY 2.0

Source-file limits

The source returned 65 fields and readable GPS. Selective cleanup generated a copy, but the editor refused its complex/private structure. The derivative returned 28 fields; this does not establish editing support for original E-M10 files.

Source file: Node reference

Returned fields
65
Location fields returned
Yes; values not republished
Editor structure preflight
Refused; no edit offered
GPS / identifier cleanup probe
Copy generated; coding bytes equal
Returned field names

ApplicationRecordVersion, Artist, Author, ColorSpace, ComponentsConfiguration, Contrast, Copyright, CreateDate, CustomRendered, DateTimeOriginal, DigitalZoomRatio, ExifImageHeight, ExifImageWidth, ExifVersion, ExposureCompensation, ExposureMode, ExposureProgram, ExposureTime, FNumber, FileSource, Flash, FlashpixVersion, FocalLength, GPSAltitude, GPSAltitudeRef, GPSDateStamp, GPSImgDirection, GPSImgDirectionRef, GPSLatitude, GPSLatitudeRef, GPSLongitude, GPSLongitudeRef, GPSMapDatum, GPSTimeStamp, GPSVersionID, GainControl, ISO, ImageDescription, InteropIndex, InteropVersion, LensInfo, LensModel, LightSource, Make, MaxApertureValue, MeteringMode, Model, ModifyDate, Orientation, PrintIM, ResolutionUnit, Saturation, SceneCaptureType, SensitivityType, Sharpness, Software, SpecialInstructions, WhiteBalance, XResolution, YCbCrPositioning, YResolution, latitude, longitude, makerNote, userComment

Published derivative: Node reference

Returned fields
28
Location fields returned
Not returned; not proof of absence
Editor structure preflight
Preflight accepted only; not an editing test
GPS / identifier cleanup probe
No matching EXIF fields; no copy
Returned field names

Artist, ColorSpace, Copyright, ExifImageHeight, ExifImageWidth, ExifVersion, ExposureCompensation, ExposureMode, ExposureProgram, ExposureTime, FNumber, Flash, FlashpixVersion, FocalLength, ISO, LensModel, LightSource, Make, MaxApertureValue, MeteringMode, Model, Orientation, ResolutionUnit, SceneCaptureType, Software, WhiteBalance, XResolution, YResolution

Selected technical values returned from the source file

FieldReturned value
Camera MakeMakeOLYMPUS IMAGING CORP.
Camera ModelModelE-M10
SoftwareSoftwareVersion 1.3
OrientationOrientationHorizontal (normal)
Exposure TimeExposureTime0.01
F-Number (Aperture)FNumber3.5
ISO SensitivityISO200
Focal LengthFocalLength17
Lens ModelLensModelLUMIX G VARIO 12-35/F2.8
Byte and independent pixel checks

Primary JPEG coding and all scan bytes are identical, excluding APP/COM and trailing data.

Pillow RGB pixels after EXIF orientation are identical. No ICC color conversion was performed; this is not an all-browser rendering guarantee.

Trailing bytes dropped from the derivative: 0 B

Source / derivative / primary coding SHA-256

  1. ad9a5971aae8e936031ff3c362ecee16aab42332672646f8a5f19a168a651fbe
  2. 68f58a939647fe50a407cac8050a1ff2d5c9fcdd23e5ede84b16de5c5dad741f
  3. f7921e28aaf2884544557749b9f369fb45bcd6d5fb4813cb6210e1a7727bca17

Sony A7 IV (ILCE-7M4)

Checked on: 2026-10-28 · exifr 7.1.3 · 7008 × 4672 px

Photograph and credit: Micro Electricity Controller1.jpg · Santhosh Notagar99

Image license: CC BY 4.0

Source-file limits

The source returned 59 fields, but independent JPEG source inspection was unavailable. Cleanup and editing were refused. After the primary JPEG are 311,602 bytes; publication dropped them without interpretation. The derivative returned 29 fields. Its simpler structure does NOT establish original-file support or decode a shutter count.

Source file: Node reference

Returned fields
59
Location fields returned
Not returned; not proof of absence
Editor structure preflight
Refused; no edit offered
GPS / identifier cleanup probe
Unsupported structure; no copy
Returned field names

BrightnessValue, ColorSpace, ComponentsConfiguration, CompositeImage, CompressedBitsPerPixel, Contrast, CreateDate, CustomRendered, DateTimeOriginal, DigitalZoomRatio, DocumentID, ExifImageHeight, ExifImageWidth, ExifVersion, ExposureCompensation, ExposureMode, ExposureProgram, ExposureTime, FNumber, FileSource, Flash, FlashpixVersion, FocalLength, FocalLengthIn35mmFormat, ISO, InstanceID, InteropIndex, InteropVersion, LensInfo, LensModel, LightSource, Make, MaxApertureValue, MeteringMode, Model, ModifyDate, OffsetTime, OffsetTimeDigitized, OffsetTimeOriginal, Orientation, PrintIM, Rating, RecommendedExposureIndex, ResolutionUnit, Saturation, SceneCaptureType, SceneType, SensitivityType, Sharpness, Software, SubSecTime, SubSecTimeDigitized, SubSecTimeOriginal, WhiteBalance, XResolution, YCbCrPositioning, YResolution, makerNote, userComment

Published derivative: Node reference

Returned fields
29
Location fields returned
Not returned; not proof of absence
Editor structure preflight
Preflight accepted only; not an editing test
GPS / identifier cleanup probe
No matching EXIF fields; no copy
Returned field names

Artist, ColorSpace, Copyright, ExifImageHeight, ExifImageWidth, ExifVersion, ExposureCompensation, ExposureMode, ExposureProgram, ExposureTime, FNumber, Flash, FlashpixVersion, FocalLength, FocalLengthIn35mmFormat, ISO, LensModel, LightSource, Make, MaxApertureValue, MeteringMode, Model, Orientation, ResolutionUnit, SceneCaptureType, Software, WhiteBalance, XResolution, YResolution

Selected technical values returned from the source file

FieldReturned value
Camera MakeMakeSONY
Camera ModelModelILCE-7M4
SoftwareSoftwareILCE-7M4 v6.00
OrientationOrientationHorizontal (normal)
Exposure TimeExposureTime0.01
F-Number (Aperture)FNumber4
ISO SensitivityISO640
Focal LengthFocalLength70
Lens ModelLensModelFE 24-70mm F4 ZA OSS
Byte and independent pixel checks

Primary JPEG coding and all scan bytes are identical, excluding APP/COM and trailing data.

Pillow RGB pixels after EXIF orientation are identical. No ICC color conversion was performed; this is not an all-browser rendering guarantee.

Trailing bytes dropped from the derivative: 311,602 B

Source / derivative / primary coding SHA-256

  1. 03a409eb2b950b1fc308f5211635a037e637538910b6f5e8afd809616f608131
  2. b34d5e13bbb4ace66018da99bd1a36fb73185955abc5805aa59bf92f3632a27d
  3. 40f4c0d7591966747c69fdfd209b7e6715245ea4b22ec2f1f04bde2a9d1e9139

Recorded browser reads

Four actual JSON downloads from the local in-app browser were independently compared with the pinned-file reference. Browser version was not recorded. This is a completed observation, not a live test of your browser.

Checked on: 2026-10-28

  • Olympus OM-D E-M10 · Source file: 65 · Matches the reference read
  • Olympus OM-D E-M10 · Published derivative: 28 · Matches the reference read
  • Sony A7 IV (ILCE-7M4) · Source file: 59 · Matches the reference read
  • Sony A7 IV (ILCE-7M4) · Published derivative: 29 · Matches the reference read
Download browser observation record (JSON)

Reproduce and interpret the result

  1. Review the source page, author and image license. Compare the exact SHA-256; a thumbnail is a different file.
  2. Download the labelled derivative, select it in the viewer, and inspect Model, exposure, diagnostics and source coverage. Keep original and derivative results separate.
  3. Use the original-file report for reading, editor refusal and cleanup outcomes. Rebuilt EXIF in a derivative does not prove original compatibility. MakerNote bytes and exposure time do not establish lifetime shutter count.
Download source-file reports (JSON)

Repository commands (Node and Python/Pillow; only the two pinned public sources are fetched):

node scripts/fetch-camera-sources.mjs
node scripts/generate-camera-reports.mjs 2026-10-28
node scripts/test-camera-reports.mjs

Reports publish selected technical values and field names, not source coordinates, serial values, dates or raw MakerNotes. Each photograph retains its own license and attribution; no creator endorsement is implied. No RAW, private-device or sharing-platform test is claimed.

How we check our guides

Guides distinguish documented behavior, synthetic tests and real-device tests. We do not treat sample values as camera measurements. Corrections include a revision date; report an error with the page URL and a non-sensitive example. Site maintenance is credited to ExifCheck, without implying independent security certification.

Report an issue

Implementation references: exifr / canvas.toBlob