EXIF viewer & metadata stripper
Drop any JPEG image and instantly see the metadata embedded in it: camera make and model, capture date and time, lens details, ISO, shutter speed, aperture, software — and, if your camera wrote GPS data, the coordinates where the photo was taken. It’s for anyone who wants to know what a photo silently reveals before sharing it, and to scrub that data away.
How it works
The reader parses the raw bytes itself, with no third-party library. It checks
the file starts with the JPEG marker FFD8, walks the segment chain to find the
APP1 (FFE1) segment containing the Exif\0\0 header, then reads the TIFF
header to detect byte order (II little-endian or MM big-endian). It walks
IFD0 for camera/image tags and follows the sub-IFD pointers to read the
EXIF tags (exposure, ISO, lens) and the GPS sub-IFD (latitude, longitude,
altitude). If any GPS field is present the tool flags it in a red warning box.
The strip step is separate: it loads the image, draws it onto a <canvas>
at full resolution, and re-encodes with canvas.toBlob("image/jpeg", 0.95). A
canvas re-encode carries no EXIF, so the downloaded copy is metadata-free.
Example
You drop a photo straight off a phone. The viewer lists Camera make: Apple,
Date/time original: 2026:05:14 18:32:07, ISO speed: 64, Focal length: 5.1 —
and a red GPS location data detected box showing the latitude and longitude
degrees. You click Download stripped copy and get
photo-stripped.jpg, identical to the eye but with no camera, date or location
data left.
| Tag group | Example fields |
|---|---|
| Camera & image | Make, model, software, orientation, date/time |
| Exposure | Exposure time, F-number, ISO, focal length, lens model |
| GPS | Latitude, longitude, altitude, GPS date/time |
Privacy-first by design: the parser runs inline over the raw JPEG bytes with
the browser’s DataView API. No libraries are loaded, no file is uploaded, and
nothing leaves your device at any point.