The sofa you sold still knows your address
Someone bought your old sofa through a classifieds app last spring. Payment went fine, pickup went fine, and then a second message arrived: nice house — the corner lot with the maple? You never mentioned a maple tree. You never mentioned an address. Your phone did, silently, in every photo you took for the listing, because the camera had location services enabled and wrote GPS coordinates into the file's metadata before it ever left your hands.
This is EXIF — Exchangeable Image File Format — the camera industry's filing system, bolted into the JPEG files that phones and cameras produce. Some of it is genuinely useful: exposure settings, lens data, the timestamp you will want someday when you are arguing about which year the beach trip happened. Some of it is a liability you have been shipping to strangers: latitude and longitude, altitude, the direction you were facing, the camera's serial number, sometimes your name.
Social networks mostly scrub this on upload. Email does not. Messaging apps that send photos as files do not. Cloud backup links do not. And the classifieds listing from our sofa story definitely did not, which is how a stranger ended up complimenting your landscaping. This tool exists for the gap between what platforms promise and what files actually contain: one click re-encodes the photo with nothing attached, and the whole question evaporates.
Below: how to use it, what EXIF actually is once you look inside the bytes, precisely what survives a proper strip, where metadata hides that people forget to check, and who needs this on a weekly basis. If you would rather see what a file is carrying before deciding, the companion EXIF Viewer prints the whole inventory.
A filing cabinet welded inside a JPEG
A JPEG file is a sequence of chunks, each starting with a two-byte marker. The image data lives in one chunk; the metadata lives in others. The one that matters here is APP1 — marker bytes 0xFFE1 — which begins with the literal text 'Exif' followed by two zero bytes, and then, unexpectedly, a complete TIFF file. That embedded TIFF is the EXIF structure, and it is organized as a chain of image file directories, or IFDs.
Each IFD is a flat list of tagged entries, and every entry is exactly twelve bytes: two bytes of tag ID, two bytes of data type, four bytes of element count, four bytes that hold either the value itself or an offset pointing to it. Values longer than four bytes — GPS coordinates, camera names, timestamps as text — live elsewhere in the block, pointed at by those offsets. It is a tidy 1990s database design, chosen because it is cheap for a camera's firmware to write at the moment of capture.
The first directory, IFD0, holds the general tags: Make (0x010F), Model (0x0110), the orientation flag (0x0112), the change date (0x0132), and artist and copyright fields if anyone filled them in. It also holds two pointers of note — 0x8769, which leads to a sub-directory of shooting data, and 0x8825, which leads to the GPS block. Those pointers are why 'just delete the GPS tag' is harder than it sounds: the coordinates are not one tag but a constellation of them, scattered across a directory you reach by following a pointer from another directory.
Why cameras write all this in the first place
The EXIF specification was born in the mid-1980s at Japan's electronics industry association — the organization now continued as the Camera and Imaging Products Association — which is why the standard's grammar of tags reads like firmware engineering rather than web design. Camera makers needed a way for photos to carry their own settings so labs could print them correctly and so warranty claims could be verified against shutter counts. Nobody imagined phones with GPS receivers, so when smartphones arrived and started writing the location block alongside the exposure data, the industry's tidy filing cabinet quietly turned into a tracking device.
That history explains the shape of the problem. EXIF was designed to be helpful first and invisible never — printers, cataloging software and forensic tools all depend on it, which is why your camera will never stop writing it. The burden of discretion falls on the person sharing the file, and that is exactly the burden this tool removes. Five minutes of understanding buys you a permanent habit: check what a photo carries, strip what you would not say out loud, then send.
Stripping a photo, step by step
The workflow is deliberately short — the tool's job is to be the fastest responsible decision you make before hitting send. Everything runs locally, so a 40-megapixel original processes in a few seconds without any upload progress bar to watch.
Drop your photos in
Drag one file or fifty. The queue processes sequentially through the browser's File API, so memory stays predictable and nothing is held anywhere it should not be.
Glance at the metadata preview
Before stripping, the tool shows the headline tags it found — camera, date, and a loud warning if GPS coordinates are present. Seeing the danger once is how the habit forms.
Choose the output format
Clean JPEG is the default because it is universally viewable and the re-encode guarantees total removal. Pixel dimensions are preserved; quality is set high enough that the result is visually identical to the original.
Strip and download
One click re-encodes each photo with metadata excluded from the write. The stripped copies download with their original filenames, so your folder structure survives the cleaning.
Verify when it matters
For the paranoid and the professional, drag the output back into the EXIF Viewer and confirm the panel is empty. Two tools, ten seconds, certainty.
A field guide to the tags you are deleting
Knowing what is in the block makes the removal feel less like magic and more like a decision. These are the tags a modern phone typically writes, with the hexadecimal IDs the EXIF standard assigns them — the same IDs you would see scrolling past in ExifTool, the reference command-line tool for this domain.
| Directory | Tag (hex) | What it records |
|---|---|---|
| IFD0 | 0x010F / 0x0110 | Camera manufacturer and model |
| IFD0 | 0x0112 | Orientation — how the sensor was rotated |
| IFD0 | 0x0132 | File change date and time |
| IFD0 | 0x8769 | Pointer into the shooting-data directory |
| IFD0 | 0x8825 | Pointer into the GPS directory |
| Exif sub-IFD | 0x829A / 0x829D | Exposure time and f-number, as fractions |
| Exif sub-IFD | 0x8827 | ISO speed |
| Exif sub-IFD | 0x9003 | Date and time the shutter fired |
| Exif sub-IFD | 0xA431 | Camera body serial number |
| GPS IFD | 0x0001–0x0004 | Latitude and longitude, hemisphere references, in degrees-minutes-seconds |
| GPS IFD | 0x0006 | Altitude in meters |
| GPS IFD | 0x001D | GPS date stamp from the satellite fix |
Two details surprise people. First, exposure values are stored as rational numbers — f/2.8 is literally the fraction 28/10, a quarter-second is 1/4 — a 1998-era design that let integer-only camera firmware avoid floating-point math. Second, there is usually a second image inside the file: IFD1 holds a small JPEG thumbnail, written so file browsers can display previews without decoding the full image. It is a copy of the scene at lower resolution, and it goes too when the block is stripped.
The GPS directory deserves its own example, because its encoding is stranger than people expect. Coordinates are written as three rational numbers — degrees, minutes, seconds — with a separate one-letter reference saying north or south, east or west. A photo taken at 34 degrees 3 minutes 8.15 seconds north latitude stores 34/1, 3/1, 815/100 in the latitude tag and the ASCII letter N beside it. Translation software turns that into the decimal 34.0523, which any mapping site resolves to a street address. The information does not need to be readable by humans to be readable by machines — and machines are the ones you are hiding it from.
How one re-encode removes all of it
The removal strategy is almost embarrassingly simple once you see it. The browser decodes the file into raw pixels — the actual image, orientation applied, colors resolved. At that moment the metadata is already gone: it was never pixels, only annotations about them. The tool then encodes those pixels into a brand-new JPEG, and a canvas-encoded JPEG contains exactly one small header segment, the minimal JFIF marker, and nothing else. No APP1 block is created because there is nothing to put in one.
Compare that with the surgical approach, where software parses the metadata, removes selected tags, and rewrites the remaining structure with every offset recalculated. Surgical tools are wonderful for professionals who need to keep some tags and drop others, but they carry complexity risk — misaligned offsets can corrupt a file, and a partial strip can miss the GPS timestamp while deleting the coordinates, leaving location evidence in a field nobody remembers to check. The re-encode has no such failure mode. There is no menu of tags because no tag survives to be on the menu.
Input
IMG_4471.JPG — 4032 × 3024, shot on a phone with location services on
Output
EXIF block: about 3.4 KB of tag data, plus a 9.8 KB embedded thumbnail in IFD1 — roughly 13 KB of metadata riding on a 4.1 MB photo. Stripped output: the same 4032 × 3024 pixels, no APP1 segment, no thumbnail, no GPS. The visible image is unchanged at a glance; the invisible one is empty.
If you want the surgical experience anyway, the canonical tool is ExifTool on the command line, and its two most useful invocations are short enough to memorize: 'exiftool -all= photo.jpg' writes a copy with every tag removed, while 'exiftool -gps:all= photo.jpg' removes only the GPS directory, keeping camera data intact. The batch-flatten equivalent in your browser is this page; the verify step after either is the EXIF Viewer.
What the strip removes — and what it keeps
| Gone after stripping | Still present after stripping |
|---|---|
| GPS coordinates, altitude, heading | Every visible pixel |
| Camera make, model, body serial | Image resolution in pixels |
| Shutter, aperture, ISO, focal length | File format and file size class |
| Capture and modification timestamps | Nothing else — the file starts its biography fresh |
| Embedded preview thumbnail | Your copy of the original, wherever you keep it |
| XMP and IPTC blocks, including keywords and author fields | The operating system's own file dates, which were never in EXIF |
Two quiet side effects deserve a sentence each. The orientation flag disappears with everything else, which sounds alarming until you learn the browser applied it during decoding — the pixels come out upright, so the new file needs no flag. And any embedded ICC color profile goes too, which means a wide-gamut photo may shift a touch toward standard sRGB rendering. For sharing contexts that is usually an improvement; for proofing workflows, keep the original.
Where metadata hides that people forget
JPEG is not the only file walking around with annotations. XMP — Adobe's newer metadata format — rides in its own APP1 segment with a different signature, and can carry authorship, keywords and editing history. IPTC blocks, beloved by news agencies, travel in yet another segment. A partial cleaner that only parses the EXIF signature can leave both behind. The full re-encode does not care about signatures; anything that is not pixels simply has no way to cross the bridge.
- HEIC files from recent iPhones carry the same EXIF structure, GPS included — the format changed, the filing system came along
- PNGs, traditionally metadata-free, gained an eXIf chunk in the specification's third edition, so modern exports are no longer automatically clean
- Screenshots are usually born without camera metadata — the operating system took the picture, not a sensor
- Photo editors rewrite metadata on save, and some add their own — an edited photo can leak the editing software's name even when the camera's tags were removed
- Email attachments travel as original files, metadata intact — the classic vector for accidental location leaks
- Cloud sync keeps your pristine originals in the cloud even after you strip the copies you shared
Then there is the platform question. Instagram, Facebook and Twitter strip location metadata on upload as a matter of documented policy, and WhatsApp re-compresses images in a way that discards it. But classifieds sites, forums, file-sharing services and every app that sends photos as documents have no such uniform behavior. The professional habit is to treat platform stripping as a bonus and strip before sending, so the outcome never depends on somebody else's policy page.
Who runs photos through this weekly
Journalists and researchers top the list, because a photo with intact GPS can identify where it was taken, and sometimes who took it. The Committee to Protect Journalists has spent years telling reporters to scrub images from sensitive locations before publication, and newsroom workflows increasingly bake that step in before anything reaches a CMS.
The second group is ordinary people in exposed situations: sellers photographing belongings inside their homes, parents sharing photos of kids in school uniforms, renters documenting apartments, people leaving difficult relationships whose new address should not be derivable from a park selfie. The third group is conservationists — wildlife photographers learned the hard way that geotagged rhino and owl photos were being mined by poachers, and stripping location from rare-species shots is now standard practice in that community.
And a quieter professional crowd: drone operators sharing aerial shots near restricted sites, real-estate photographers whose camera serial numbers tie a listing to a contractor, and anyone whose camera body has been registered for warranty in their own name. Your threat model does not have to be dramatic for the metadata to be nobody's business.
Four ways to remove metadata, compared
You have options, and they are not equally blunt. The table below is the short version; the paragraphs after it are the honest one.
| Method | Coverage | Best for |
|---|---|---|
| This tool (browser re-encode) | Total — every metadata segment | Sharing safely, quickly, in bulk |
| ExifTool on the command line | Total or surgical, your choice | Professionals keeping some tags |
| Windows file properties dialog | Partial, per file | One-off desktop cleaning |
| macOS Preview export | Most tags in most formats | Occasional Mac users |
The desktop dialogs deserve their reputation for unreliability. Windows' 'Remove Properties and Personal Information' wizard removes a specific set of properties and leaves the rest of the structure in place; macOS Preview's export behavior varies by format and version. Neither shows you a complete before-and-after inventory the way a dedicated viewer does. When the stakes are real, verify — do not assume.
# The two ExifTool commands worth memorizing
exiftool -all= photo.jpg # remove every metadata tag
exiftool -gps:all= photo.jpg # remove only the GPS directory
exiftool -a -G1 -s photo.jpg # inspect everything first, grouped by directoryA stripping tool that never sees your photos
There is a particular irony available online: metadata-removal sites that ask you to upload the very files you are trying to protect, so their servers can read them, strip them, and send them back. Whatever the policy says, the photos crossed the network, were held by a stranger's infrastructure, and now exist in a log somewhere, coordinates and all.
This page has no upload. The File API hands your photos directly to the browser's decoder, the re-encode happens in canvas memory on your machine, and the stripped copy is written by the same browser that read the original. No pixel or tag leaves the device, there is no server-side queue to sit in, and closing the tab ends the story. For files whose metadata is the sensitive part, the only safe architecture is the one with no architecture at all.
The questions everyone asks about EXIF
Do photos really contain GPS location data?
Phone photos do, whenever location services were on for the camera. Smartphones write GPS coordinates into the photo's EXIF block at capture time — latitude, longitude, often altitude and a timestamp. Sharing the original file through email, messaging apps that send attachments as documents, or cloud links hands that map pin to the recipient.
Does removing EXIF change how my photo looks?
No. The tool decodes the pixels, then re-encodes them into a fresh file that simply has no metadata segments to copy over. The visible image is preserved at its original resolution, with the one caveat of JPEG re-compression at high quality — visually indistinguishable, and the price of guaranteeing nothing survives.
What exactly gets removed?
Everything in the EXIF block: camera make and model, lens and serial number, exposure settings, timestamps, orientation, and the entire GPS IFD including coordinates, altitude and the satellite timestamp. The re-encode also drops XMP and IPTC blocks and the embedded thumbnail that stores a second copy of the scene.
Do Instagram and Facebook already strip EXIF?
Most major social platforms strip location and camera metadata on upload, and have for years. But that is their courtesy, not a guarantee — policies change, bugs happen, and the moment you send the original file through email or a document-style attachment, the metadata travels with it. Strip it yourself and the question never comes up.
How is this different from removing metadata in Windows or macOS?
The operating system dialogs work, file by file, through property panels that expose only a subset of tags and re-save with mixed reliability. The browser re-encode is blunt and total — there is no tag menu because no metadata of any kind survives it, and you can verify the result in the EXIF Viewer in about four seconds.
Can I remove EXIF without losing the date the photo was taken?
Yes, if you keep the original untouched and treat the stripped copy as the sharing version — the original retains DateTimeOriginal. Or keep the filename carrying a date, since the file's modification date is separate from EXIF anyway. What you cannot do is keep the tag while guaranteeing the tag is all that leaked.
Does this work on HEIC, PNG and WebP files?
For any format your browser can decode, yes — the output arrives as a clean JPEG. PNGs are a quiet trap: the modern PNG specification added an eXIf chunk in its third edition, so PNGs exported by newer tools can carry location data too. Screenshots are usually born clean; camera originals almost never are.
Is the EXIF Remover private, and is it free?
It runs entirely in your browser using the HTML canvas — files are decoded and re-encoded on your device with no upload step, so nothing crosses the network. It is free, unlimited, and requires no account, which matters here more than usual: a metadata-stripping site that uploads your photos would be a strange privacy tool indeed.
Pair this with the rest of a careful workflow
Strip, then verify, then share — in that order. The EXIF Viewer is the verification step, the JPG to PNG Converter and Image Compressor handle format and size once the file is clean, and the White Background Adder covers the e-commerce case where a marketplace-ready flatten also quietly removes every tag on the way through.
Sources and further reading
- ExifTool by Phil Harvey — the reference metadata tool(exiftool.org)
- ExifTool documentation — writing and deleting tags(exiftool.org)
- Pillow (Python imaging library) — EXIF handling reference(pillow.readthedocs.io)
- Wikipedia — Exchangeable image file format(en.wikipedia.org)
We cite primary sources (standards bodies, government agencies, official documentation) wherever they exist so you can verify every number on this page yourself.