See the GPS position, camera identification and timestamps a picture carries before you
share it
The tool loads here. It needs JavaScript, because the work happens on your device.
Your files and your privacy
Your photograph is never uploaded. It is read into this browser tab and parsed there, and
no copy is stored anywhere. Coordinates are printed as plain numbers rather than plotted,
because loading a map tile would send your location to another company. The page’s
Content-Security-Policy restricts connect-src to this origin, so the browser itself would
block an upload even if the code attempted one.
What this tool does
Read the hidden metadata inside a JPEG, PNG or WebP and see it grouped by what it reveals
about you. Location and device fields are shown first, coordinates are printed as plain
numbers, and the file never leaves your browser.
Viewing reads the metadata directories inside your file and presents them as a table you
can act on. Fields are classified by what they expose rather than by tag number: Location,
Device and identity, Timestamps, Software and Technical. Latitude and longitude, stored as
degrees, minutes and seconds with a hemisphere reference, are converted to signed decimal
degrees and shown to six places. Camera make and model, owner name, body and lens serial
numbers and the per-image identifier are grouped together, because those are the fields
that tie separate photographs to one person or one camera. Nothing is changed: this is a
read of the file exactly as it stands.
How to use it
Choose a JPEG, PNG or WebP. The container is identified from its magic bytes rather than
its file name.
Read the highlighted panel first. It reports GPS coordinates if there are any, then the
location and device fields behind them.
Compare DateTime against DateTimeOriginal if you care when the picture was taken rather
than when the file was last written.
Use Remove metadata when you want a cleaned copy; viewing on its own changes nothing on
your device.
Example use cases
Checking whether a holiday photograph you are about to post records the house you were
standing in front of.
Finding out which camera body and lens took a picture, and whether the serial numbers
are still in the file.
Confirming that a file somebody sent you as clean genuinely has no readable metadata
left.
Supported input and output
Accepts
JPEG (.jpg, .jpeg), PNG (.png) and WebP (.webp), up to 50 MB
Read-only: the file on your device is never modified
Produces
A table of every field the parser could read, grouped by sensitivity
Decimal latitude and longitude when a GPS directory is present
What this tool will not do
In a JPEG, only the APP1 Exif segment is parsed for display. XMP packets, Photoshop and
IPTC records and COM comments are detected and removed by the cleaning step, but their
contents are never shown here.
WebP XMP packets are reported as present rather than parsed, and PNG zTXt and iTXt
chunks are listed by keyword only, because they are not decompressed.
The reader follows IFD0 plus the Exif and GPS sub-directories and stops, so a thumbnail
directory’s own fields are never listed.
Parsing is bounded against hostile files at 512 entries per directory and 64 values per
tag, and a corrupt EXIF block is skipped silently, so a damaged block shows as nothing
found.
MakerNote is reported as a device field, but its vendor-specific contents are not
decoded even though they can hold serial numbers and focus data.
HEIC, HEIF, AVIF, TIFF, DNG, camera RAW, GIF and SVG are not parsed and are rejected
with a message.
No map is shown and no reverse geocoding is performed, because either would send your
coordinates to a third party.
Common mistakes
Reading an empty table as proof the file is clean. It means the parser found nothing it
can read, and blocks it does not parse, such as a JPEG XMP packet, are never listed.
Trusting DateTime when you wanted DateTimeOriginal. The first records when the file was
last written, the second when the shutter fired, and an edit can change one without the
other.
Treating this page as the removal step. Inspecting a file changes nothing, and the
picture on your device still carries every field shown until you write a cleaned copy.
Taking the values at face value. Every field is whatever the writing program put there,
and any of it can be stale or deliberately faked.
Technical notes
EXIF is a TIFF block, so the parser reads the byte-order marker, checks for magic number
42, walks IFD0, then follows the Exif sub-IFD pointer at tag 0x8769 and the GPS sub-IFD
pointer at tag 0x8825. Values of four bytes or fewer are read inline from the entry;
longer ones are read from the offset the entry points at, and anything pointing past the
end of the block is skipped rather than trusted. GPS latitude and longitude arrive as
three rationals and are combined into decimal degrees, negated for a southern or western
hemisphere reference. The same parser serves a JPEG APP1 Exif payload, a PNG eXIf chunk
and a WebP EXIF chunk, and an unknown tag found in the GPS directory is still classified
as location data because of where it was found.
Frequently asked questions
Why do you not show the location on a map?
Because requesting a map tile would hand your location to whichever company serves that
tile, from a page whose whole point is that your data stays here. The position is shown
as decimal degrees so you can paste it wherever you choose to.
The table is empty. Does my photo have no metadata?
It means nothing readable by this parser was found. Some platforms strip metadata on
upload and some apps never write it. It does not prove that blocks this tool cannot
parse are absent.
What is MakerNote and why is the value not readable?
It is a vendor-specific blob that camera manufacturers use for their own settings, and
it can contain serial numbers and autofocus data. Its internal format is undocumented
and differs per manufacturer, so it is reported rather than decoded.