The beach is in the pixels. The coordinates are in the tags.
Phone cameras write GPS, camera model, sometimes a serial, lens, and the time the shutter fired. You see a sunset. A metadata viewer sees a pin on a map. WhatsApp often strips EXIF when you send in the chat. “Download original” from Google Photos, an email attachment, and airdrop usually do not. I strip by redrawing the picture onto a canvas and exporting JPEG at quality 0.95. Canvas has no EXIF block. That is why GPS dies, and why a PNG with a transparent logo becomes an opaque JPEG. This is not a field-by-field editor. It is a new picture.
No library CDN for the strip itself: the Canvas API is in the browser. Analytics still loads if you accepted cookies. That is not your photo leaving. Do not paste a passport scan into a “free EXIF viewer” that uploads to score “privacy.” The whole point of this page is not handing the original to a website.
Worked example: GPS on a weekend photo
Export the cleaned file. Open it in any metadata viewer you already trust (or Windows file properties). GPS tags should be gone. Pixel content is a new JPEG, so you paid one generation of quality. Keep the original in a folder that is not the one you share.
Worked example: it came from WhatsApp
Many WhatsApp exports already have empty EXIF. Running this still re-encodes to JPEG. If the source was already clean, you burned quality for a no-op on tags. Check metadata first when the file looks like a chat download (low resolution, IMG-WA names). If tags are already gone, skip this page.
Worked example: PNG UI asset with alpha
A logo with a transparent background. Output is JPEG. Transparency collapses (usually to black or white fill depending on the canvas). Do not use this as a “PNG optimizer.” If you only needed a codec change and alpha must live, the format converter staying on PNG is the other job. If you needed fewer bytes, the image compressor is the size slider. This page’s job is metadata, and the method (canvas JPEG) is blunt on purpose.
What still leaks after a “clean” export
The pixels. A face, a badge, a street sign, a reflection in a window. Stripping GPS does not blur the house number. Screenshots of maps can contain coordinates as text. Some phones write MakerNotes that a careful parser still finds in odd formats; I export JPEG from canvas, which is a good practical strip, not a forensics guarantee against every proprietary chunk. RAW from a camera is the wrong input: export JPG/PNG first. Video is not this tool. PDF embeddings are a different story: strip the image, then stack, or GPS can ride inside the PDF’s JPEG stream.
Cameras and phones differ. A DSLR JPEG often carries lens and serial. A Pixel or iPhone JPEG often carries GPS if Location was on in the camera app (separate from Maps). Some gallery “share” sheets offer “without location”; that is the OS doing a strip. If you instead AirDrop the original or attach from Files, assume tags still exist. Instagram and Twitter/X have historically stripped a lot on upload; a Gmail attachment to a journalist has historically not. Test the path you will actually use, not a social app you used last year.
Questions
Is the image uploaded?
No. Draw-to-canvas happens in this tab. There is no EXIF library CDN. Cookie-banner analytics is a separate hop and does not receive the file.
Are all tags gone?
Canvas JPEG has no EXIF/GPS. Exotic sidecar files (XMP next to the photo) are not in the image bytes and are not this tool.
Why is my PNG now a JPEG?
The strip method exports JPEG at 0.95. Alpha will not survive. Use a format converter if you must stay PNG.
Did WhatsApp already strip EXIF?
Often yes, on in-chat sends. Email, AirDrop, and “original” cloud downloads often keep GPS. Check before you re-encode.
RAW or video?
Export a JPG/PNG from the camera app first. Video metadata is a different container; this page does not touch it.
If I stack photos into a PDF without stripping?
JPEG EXIF can survive inside the PDF. Strip here first, then use image to PDF.