Photo privacy · Runs offline
See what your photo leaks, then take it out
Read the EXIF, GPS, IPTC and XMP blocks hiding in a photo, get every tag decoded into plain English, then re-encode a clean copy that carries none of it. Files are read in this tab and never uploaded.
The short answer
Read it, then strip it
Files are parsed and re-encoded on your device. Load the page once and it keeps working with the network switched off. See how it works, the tag reference and the questions.
Add photos or videos
Nothing is uploadedDrop photos or videos here
JPEG, PNG, WebP and video files. Accepts several at once. Everything is read locally in this tab.
Summary verdict
Files
Nothing added yet. Drag a file in, use the picker, or press Use a sample to see the report work on a synthetic JPEG with a deliberately fake GPS block.
Ready. Add a file to read its metadata.
How to use it
- Add files, or try the synthetic sample. Drag photos or videos onto the drop zone, use the file picker, or press Use a sample to generate a test JPEG in the browser that carries a deliberately fake GPS position, a fake camera make and model and a software string. The sample is synthetic and labelled as such; it exists so you can see the report work without hunting for a photo on your disk.
- Read the leak report. Each file is listed with the tags found inside it, grouped and severity-tagged. Location is flagged hardest, because a coordinate is a map pin. Device, time, software, copyright and the embedded thumbnail are broken out separately, and XMP and IPTC blocks are reported as present even where individual tags are not decoded.
- Choose the output format and quality. JPEG or WebP for sharing, with a quality slider that trades file size against a second generation of compression artefacts. PNG when you cannot afford generational loss. The EXIF orientation flag is baked into the pixels, so a photo taken sideways comes out the right way up without the orientation tag.
- Strip and download. Every image is re-encoded to a new file with no metadata, with before and after size and a thumbnail of each shown side by side. Download files one at a time, or press Download all to fire off the downloads in sequence. Your originals are never modified.
What metadata does a phone photo contain?
Open a photo from a modern phone in this tool and the report is the answer. Here is what tends to be there and why it matters.
| What the file carries | Why it matters |
|---|---|
| Manufacturer, model, lens model | Identifies the exact device you own. On its own it is embarrassing rather than dangerous, but combined with anything else it is a fingerprint. |
| GPS position, altitude, UTC timestamp | The dangerous one. A map pin, plus a time. Photos taken at home, at a school, at a clinic or on a regular route are the ones that get people into trouble. |
| Capture time to the second | Often local time with no time zone, which makes cross-checking against other data harder and guessing easier. |
| Software and firmware version | Which camera app or editor wrote the file, including version numbers that are not always current. |
| Title, Author, Comment, Keywords, Copyright | Free-text fields inherited from Windows conventions. They routinely hold a name, a caption or an email address. |
| Embedded thumbnail | A whole second copy of the image inside the file, frequently the uncropped original. Easy to forget when people crop before sharing. |
| XMP packet | An XML block from Adobe tools that can repeat the above and add creator and editing history. Reading it needs a full RDF parser, so this tool reports its presence and size rather than pretending to decode every property. |
| IPTC / Photoshop 8BIM resources | The press and print industry's record of who made a picture and under what licence. Reported the same way as XMP. |
Not every file is equally leaky. A screenshot is a fresh PNG with almost nothing attached, which makes it one of the safer ways to share something. A file exported from a social app has usually been re-encoded by that app's servers. A file you took with your own phone and emailed to someone has everything on it, intact.
Does removing EXIF remove GPS data?
Yes, provided the removal is real. This is the one field worth reading before you strip anything.
How the coordinates are stored
GPS position does not live as a decimal number. The GPS IFD holds latitude and longitude as three rationals each, degrees, minutes and seconds, plus a reference tag carrying N or S and another carrying E or W. A value of 51 degrees, 30 minutes, 26.4 seconds north is stored as the three integers 51, 30 and 264/10 with an N reference. A reader that shows you only the raw rationals is not much use, so this tool converts to decimal degrees as well, which is the form you can paste into a map: 51.507333, -0.127667.
What the presence of a GPS block tells you before you decode it
The Exif IFD carries a pointer tag (0x8825) to the GPS IFD. Its mere presence is already the headline: the device recorded a position, or believed it did. Plenty of devices write a GPS block even when the fix is stale or came from a network rather than a satellite, so a position is not proof that the camera stood exactly there. It is still a location worth removing.
What else pairs with a location
Altitude, GPSDateStamp and GPSTimeStamp sit in the same block and are frequently present together. Add the capture timestamp from the Exif sub-IFD and you have a position and a time, which is enough to reconstruct a sequence of photos taken on one walk. That combination, not either half alone, is what makes location metadata genuinely dangerous rather than merely revealing.
How to strip metadata before posting
The honest version, including the part where the fix is not free.
In the browser
- Read the report first. Add the file, look at what is in it, then decide. A file with no GPS is a different problem from a file with a home address in it.
- Strip and download. The result is a new file with no metadata container. Your original stays exactly where it was.
- Check the orientation. Stripping removes the orientation tag, so the rotation has to be baked into the pixels instead. This tool does that automatically; a photo taken sideways comes back the right way up.
- Prefer a screenshot when it suits the content. A screenshot of a photo is a new PNG with a fresh timestamp and nothing else attached. It is a blunt instrument and it cannot un-leak a location you already published.
On your own machine
- exiftool is the reference tool and it runs everywhere.
exiftool -all= photo.jpgstrips tags in place, and-all= -o clean.jpg photo.jpgwrites a clean copy while keeping the original. - ImageMagick and GraphicsMagick do it with the
-stripflag on read or write. - A batch rename loop over a directory is worth it if you share photos regularly, because the habit matters more than the tool.
The platform caveat worth knowing
Most large social platforms and messaging apps re-encode uploads on their servers, which destroys the metadata whether or not they meant to. That makes them a poor place to test your assumptions, because the file you get back is not the file you sent. Files sent by email, by direct link, as a chat attachment, or through a cloud drive usually arrive untouched. If the destination preserves the file, you are the one who has to clean it.
EXIF tag reference
The tags this tool decodes, what each one discloses, and why it is in the table. Tag IDs are the hexadecimal values from the TIFF/EXIF specification, written the way a parser sees them.
| Tag | Tag ID | What it reveals |
|---|---|---|
| Make | 0x010F | Camera manufacturer. Partly identifies the device you were carrying. |
| Model | 0x0110 | Exact model, which narrows the device, its sensor and its lenses. |
| Orientation | 0x0112 | Which way the camera was held. Stripping it without baking the rotation into the pixels shows a sideways photo. |
| Software | 0x0131 | The app or firmware that wrote the file, including the exact editor version. |
| DateTime | 0x0132 | File modification time as written by the device, often in local time with no time zone. |
| Artist | 0x013B | Creator name. Frequently a real name on exported images. |
| Copyright | 0x8298 | Copyright string, occasionally carrying an owner name or an email address. |
| Exif IFD pointer | 0x8769 | Points at the Exif sub-IFD, where capture data and the GPS pointer live. |
| GPS IFD pointer | 0x8825 | Points at the GPS sub-IFD. Its mere presence means location tags exist. |
| GPSLatitude / GPSLongitude | 0x0002 / 0x0004 | Latitude and longitude as three rationals each (degrees, minutes, seconds), plus N/S and E/W reference tags. |
| GPSAltitude | 0x0006 | Height above sea level in metres, which is often more identifying than people expect. |
| ExposureTime | 0x829A | Shutter speed. Reveals whether the shot was handheld or tripod, and narrows the scene. |
| FNumber | 0x829D | Aperture. Together with shutter speed and ISO it describes the exact shooting setup. |
| PhotographicSensitivity (ISO) | 0x8827 | ISO speed, a hint at lighting conditions and at how the shot was processed. |
| DateTimeOriginal | 0x9003 | Capture time to the second, usually in UTC. Combined with GPS this is the most dangerous pair on the page. |
| LensModel | 0xA434 | Lens make and model, which can identify a specific lens rather than just the body. |
| XPTitle / XPComment / XPAuthor / XPKeywords | 0x9C9B–0x9C9E | UTF-16 text tags written by Windows and inherited by most editors. Free-text, so they often hold titles, names and captions. |
| Thumbnail (IFD1) | 0x0201 / 0x0202 | A complete second copy of the image, often uncropped, stored inside the file itself. |
Severity used in the report: Location Device Software Time Copyright Thumbnail. Location is the only one that routinely gets people hurt.
How the strip actually works
Reading the metadata
For a JPEG the tool walks the marker segments from the SOI header, finds the APP1 segment, checks the Exif\0\0 signature and then walks the TIFF structure inside it: the two-byte byte-order mark (II for little-endian, MM for big), the 42 magic number, the offset to IFD0, and then each image file directory entry with its tag, type, count and value-or-offset. Pointers to the Exif sub-IFD and the GPS sub-IFD are followed, and the next-IFD pointer from IFD0 leads to the thumbnail directory. PNG files are read through their chunk table looking for eXIf, and WebP through its RIFF chunk list looking for EXIF. There is no library involved, which is also why the report can tell you it found tags it did not decode instead of quietly missing them.
Removing it
Removing metadata without re-encoding means rewriting the container byte by byte, which is fiddly and format-specific. Re-encoding is not: the file is decoded to pixels, the pixels are drawn onto a canvas, and the canvas is encoded back out with canvas.toBlob(). The result is a new file that has never contained an EXIF block, because nothing wrote one. Canvas re-encoding is a complete, well-defined way to shed every metadata container at once: EXIF, IPTC, XMP and the embedded thumbnail, plus anything else the original carried.
Orientation, and why it has to be baked in
The orientation tag does not rotate pixels; it tells a viewer how to rotate them at display time. Delete it and the pixels stay in the sensor's original order, so a photo shot in landscape shows up sideways. The fix is to apply the rotation to the pixels before they are written out, which this tool does by asking the browser for a bitmap with imageOrientation: "from-image" so the rotation is applied at decode time. The trade is unavoidable: you cannot both delete the instruction and rely on it. Browsers differ in how completely they honour that option, so glance at the before and after preview if a photo comes out the wrong way round.
What it cannot do
- Video. Re-encoding video in a browser without shipping an encoder is not something a static page can do honestly. Video files are read, their metadata atoms are reported, and the original is offered back untouched. See the video section.
- XMP and IPTC tag-level decoding. Their presence, size and container are reported, because "this file has an XMP packet" is the answer most people need. Decoding the RDF inside would mean shipping a parser for a format that is large, extensible and rarely load-bearing for the privacy question.
- Containers the browser cannot decode. HEIC and AVIF depend on platform codec support. If the browser will not decode the image, the tool says so instead of producing an empty file.
Re-encoding is lossy, and what the quality slider does
JPEG and WebP are lossy codecs. A photo that has been through one of them has thrown away information that no re-encode can recover. Stripping by re-encoding therefore costs you a second generation of compression artefacts on top of the privacy win.
| Output | Generational loss | Typical size | Use it for |
|---|---|---|---|
| JPEG | Yes. Each save is another lossy pass. | Smallest of the three for photos | Everyday sharing, email, anything that needs to fit a size limit |
| WebP | Yes, and it holds detail better than JPEG at the same size. | Usually smaller than JPEG | The web in general, especially if the destination accepts it |
| PNG | None. Lossless. | Far larger for photographs | Screenshots, flat graphics, and anything where a second generation is unacceptable |
Reading the slider
Higher quality means a larger file and less added artefacts; lower quality means the reverse, and the damage concentrates where JPEG struggles: fine texture, foliage, text in a photograph, and smooth gradients such as a sky, which can band. Around 90% is a reasonable default for sharing. Below about 70% the difference becomes easy to see on a large screen. The quality setting is ignored for PNG, which is lossless, and the tool says so rather than pretending the slider is doing something.
Removing EXIF does not make a photo anonymous
Metadata is bookkeeping. It is the easiest thing to remove and it is not the thing that identifies people in a photograph.
Still visible after stripping
- Faces, and clothing, tattoos, jewellery, watches and shoes
- Number plates, including plates in a mirror or a reflection
- Address numbers, street signs, postboxes, bins with a number
- Shop fronts and business signage
- Skyline and terrain, especially a recognisable view from a window
- Weather, season and time of day inferred from the light
- Background detail such as paperwork, badges or screens
What stripping actually buys you
- An automated reader cannot find your coordinates. The metadata question is answered by a machine in milliseconds, so removing it removes that channel entirely.
- No device fingerprint from make, model and software.
- No name or caption from the copyright and text tags.
- No timestamp tying the file to an event.
- No uncropped second copy in the embedded thumbnail.
That is a real reduction in exposure. It is not anonymity, and it is not a substitute for thinking about the frame.
Video files: reported honestly, not stripped
This tool accepts video so it can tell you what is in it. It will not pretend to clean it.
Re-encoding video means decoding and re-encoding an entire compressed stream, which in a browser means shipping a full video codec and muxing library. That is several megabytes of code, it would not work consistently across browsers, and a page that claimed to do it and quietly did not would be worse than one that declines. So for video files this tool walks the ISO base media box structure looking for the atoms that carry metadata, reports which ones it found, and offers you the original file back exactly as it was.
Where video metadata hides
MP4 and MOV keep user metadata in a udta box under the movie box. The loci atom carries a structured location. Creation tool and software strings live in atoms such as ©xyz and ©swr, a window or capture description can carry a machine and device name, and a camera make and model can appear alongside them. The presence of these atoms is the interesting part: it means the recording device recorded more than the picture.
What to do instead
- Strip in place on your own machine. exiftool with the -all= option rewrites metadata for MP4 and MOV without touching the video stream, so it is fast and lossless.
- Re-encode deliberately. HandBrake and FFmpeg write a new container, which drops the old metadata as a side effect. You pay CPU time and a quality pass, and you should keep the original.
- Check the result. exiftool with no arguments prints the tags it finds, so you can confirm the second file is clean rather than trusting the tool that cleaned it.
- Extract stills from the cleaned video if a frame is what you need. Do not screenshot the player, and do not reuse a frame you exported before cleaning.
Privacy posture
What this page does
- No upload, no server, no endpoint. Files are read with the browser file API, parsed in tab memory and re-encoded there. There is nowhere for them to be sent.
- No analytics. No script on this page watches which files you open, and no measurement is attached to your use of the tool.
- No dependencies. No library is loaded to do any of this, so there is no third-party code between your photo and the report.
- No storage. Nothing is written to local storage or to a database. Closing the tab discards every file and every result.
- Originals untouched. Everything this tool produces is a new download.
How to check the claim
- Go offline and try it. Load the page once, then disconnect. Parsing and stripping still work, which they could not do if a server were involved.
- Open the network panel. Adding a file produces no request. There is nothing to inspect because nothing is sent.
- Read the code. It is a static page with one script, served from this site, and it is small enough to read.
- Ask what you actually need. Removing a location from a photo is a two-minute job; the tooling should not be a bigger commitment than the risk.
See the site-wide privacy page for how this site handles everything else.
Questions
How do I remove EXIF data from a photo?
Drop the photo on the tool above and read the report first, so you know what is in there. Then choose an output format, pick a quality, and press Strip metadata. The file is decoded to raw pixels, drawn onto a canvas and re-encoded from that canvas, which produces a brand new container. EXIF, IPTC, XMP and the embedded thumbnail are properties of the original container, so none of them survive the round trip. On a desktop the same job is done by running exiftool with the -all= option on the file, or by ImageMagick's -strip flag. Nothing here is uploaded: the bytes never leave the tab.
Does removing EXIF remove GPS data?
Yes, if the removal is real. GPS coordinates live in the Exif IFD inside the APP1 segment of a JPEG, or in the eXIf chunk of a PNG, and they are discarded along with the rest of the metadata when a file is re-encoded. That is also exactly why the coordinates are worth reading before you strip: a single JPEG can carry latitude and longitude to a few decimal places, an altitude, and a UTC timestamp, which is often enough to place a photo on a map and work out roughly when it was taken. Social platforms and messaging apps routinely strip metadata on upload, but files shared by email, direct link, chat attachment or cloud drive usually keep every byte of it.
How do I strip metadata from a JPEG, PNG or WebP before posting?
Use this page: drop the files in, read the leak report, then strip. For a batch, add every file at once and press Strip all, then download each result individually. If you only need one clean copy, re-saving through any editor that does not write metadata works too, but check the result: many editors copy a subset of tags forward rather than dropping the block. Screenshots deserve a special mention. A screenshot taken on a phone is usually a fresh PNG with almost no metadata to begin with, which is why screenshotting is one of the safer ways to share something sensitive.
What metadata does a phone photo contain?
More than most people expect. A typical phone JPEG carries the manufacturer and model, the software version that wrote the file, the lens model, the original capture time down to the second, an orientation flag, and usually a GPS position with an altitude. Many devices also attach a thumbnail image and Windows-style tags such as Title, Author, Comment and Keywords. Bursts and some editing apps add more. Screenshots, messages exported from social apps and images downloaded from the web are usually much thinner, because each of those steps re-encodes the file.
What are the privacy risks of photo metadata?
Coordinates are the obvious one, and they are the worst: a position plus a timestamp can reveal a home, a workplace, a school run, a child's location or a pattern of habits. Device and lens details narrow the model of phone you own. Software versions reveal which editing app you use, which is a smaller but real fingerprinting surface. Copyright, Artist and the Windows tags can carry a full name or an email address. The embedded thumbnail is a complete second copy of the picture, sometimes of the uncropped original, and it survives in files people believe they already cleaned.
Does removing EXIF make a photo anonymous?
No, and it is worth being blunt about that. Metadata is bookkeeping, not identity. Faces, number plates, house numbers, street signs, shop fronts, reflections in windows, a recognisable skyline and the visible wear on a wall all identify a place or a person just as effectively, and none of them are metadata. Metadata removal stops an automated tool from reading the file and finding your coordinates in half a second. It does nothing about what is visible in the frame.
Why does stripping metadata sometimes make the file look different?
Because the way this tool strips is by re-encoding, and for JPEG and WebP that is a lossy codec. Decoding and re-encoding a JPEG that was already compressed introduces a second generation of compression artefacts, which show up most in fine detail: foliage, text, gradients in a sky. The quality slider controls how much extra compression is applied; keeping it high limits the damage but produces a larger file. PNG output is lossless, so it adds no generational loss at all, at the cost of a much bigger file and no transparency-free size advantage on photographs. If generational loss matters to you, choose PNG or WebP at a high quality setting and keep your original.
Can this tool remove metadata from a video?
No, and it will not pretend to. Re-encoding video in a browser without shipping a multimegabyte encoder is not something a static page can do honestly, so this tool reads video files, tells you which metadata atoms it can see, and offers you the original file back untouched. To actually clean a video, use a dedicated tool on your own machine: exiftool with the -all= option rewrites metadata in place for MP4 and MOV, and a re-encode through a desktop editor such as HandBrake or FFmpeg strips the container metadata as a side effect of writing a new file. A still frame extracted from a cleaned video inherits the cleaned container, but extract it yourself rather than trusting a screenshot of the player.
Does removing metadata reduce the file size?
Often a little, and never by much. A full-resolution thumbnail can be tens of kilobytes on a large photo, and a long caption is cheap. The size change you will usually notice comes from re-encoding rather than from deleting tags: a lower quality setting can cut a photo in half, and PNG output can make a photograph dramatically larger than the JPEG it came from. This tool always shows the before and after size next to each file so you can see which effect you are getting, and it keeps the original file on your disk untouched either way.
Are my photos uploaded to a server?
No. There is no upload endpoint on this site and no analytics script that watches what you open. The file is read into the tab with the browser's own file API, parsed and re-encoded in memory, and handed back to you as a download. You can prove it: load this page once, switch the network to offline, and the tool still works. Nothing is written to storage either, so closing the tab discards everything.