What metadata your image file actually contains
Most people know that a photo can carry GPS coordinates. Fewer realise how many other data layers travel with the same file. A JPEG shot on a modern smartphone or mirrorless camera arrives carrying up to six distinct metadata segments, each from a different standard body, each serving a different purpose.
The table below maps each group to the specific fields it contains, the typical size it adds to the file, and the reason you might want it gone.
| Group | Key fields | Typical size | Privacy risk |
|---|---|---|---|
| EXIF core | Make, Model, LensModel, FocalLength, FNumber, ISOSpeedRatings, ExposureTime, DateTimeOriginal, SubSecTimeOriginal | 4–18 KB | Device fingerprinting; camera serial number can tie multiple photos to one owner |
| GPS cluster | GPSLatitude, GPSLongitude, GPSAltitude, GPSTimeStamp, GPSImgDirection, GPSSpeed | 0.3–1 KB | Exact capture location; aggregated across a photo library, reconstructs daily movement |
| IPTC | Caption-Abstract, By-line, CopyrightNotice, Keywords, City, Province-State, Country-PrimaryLocationName, Credit | 0.5–8 KB | Photographer identity, client name in caption, proprietary keyword taxonomy |
| XMP | xmp:CreatorTool, xmpMM:History, lr:hierarchicalSubject, dc:rights, xmp:Rating, xmp:Label | 2–30 KB | Editing software version and license, full adjustment history, workflow metadata |
| JFIF / APP0 | JFIFVersion, Xdensity, Ydensity, pixel aspect ratio | 0.01–0.1 KB | Low; DPI tag can hint at device class |
| Embedded thumbnail | A separate JPEG inside the EXIF block, typically 160 × 120 px | 5–25 KB | The thumbnail is generated at capture time and may show a crop that differs from the current edit — revealing an uncropped version of the image |
How the remover works — no upload, no server-side processing
Browser-based metadata removal is possible because modern browsers expose the FileReader and Canvas APIs. Here is the exact sequence this tool follows for a JPEG file:
- File read: The browser reads the raw bytes of your file from disk using
FileReader.readAsArrayBuffer(). No network request is made at this point. - APP marker scan: The byte stream is walked looking for JPEG APP markers (bytes
FF E0throughFF EF). Each APP segment is classified: APP0 (JFIF), APP1 (EXIF or XMP), APP13 (IPTC/Photoshop), and any others are flagged for removal. - ICC profile preservation: The APP2 segment, which carries the ICC colour profile, is explicitly kept. Removing the colour profile can shift colours on wide-gamut displays (Display P3 photos viewed in sRGB context, for example).
- Reconstruction: A new byte array is assembled from the JPEG SOI marker, the kept APP2 segment (if present), and the compressed image data (SOS onward). No re-encoding occurs — the JPEG DCT blocks are copied verbatim, so there is zero quality loss.
- Download: The cleaned ArrayBuffer is wrapped in a
Bloband a temporary object URL is created. A synthetic anchor click triggers the browser's download mechanism. The URL is then revoked. Your file never leaves the tab.
For PNG files the process is similar: the four-byte PNG signature and each chunk header are parsed, EXIF and tEXt/iTXt/zTXt chunks are dropped, the iCCP (ICC profile) chunk is kept, and the IDAT pixel data and IEND marker are preserved unchanged.
Scenarios where removing image metadata matters most
Metadata removal is often described in terms of privacy in general — but the practical stakes differ significantly depending on how you are using the image. Here are four concrete situations where a metadata remover changes what an observer can learn from your file.
Selling items online
A product photo taken at home with a smartphone embeds GPS coordinates accurate to within 3–10 metres. Anyone who downloads the listing photo and runs it through a metadata reader — a two-second operation using free tools — can determine your home address. Multiple listings over time build a confident geolocation even if individual photos have slight GPS variance. Removing GPS before upload costs nothing; retaining it costs privacy.
Journalists and activists sharing images
Camera EXIF records the serial number of the specific camera body in the BodySerialNumber field and, for some manufacturers, the lens serial too. In a context where physical possession of a particular camera must not be linkable to a person, a full EXIF strip is necessary. GPS is the obvious concern; serial number linkage is the less obvious one.
Submitting freelance or stock photography
IPTC fields such as Caption-Abstract and Credit may contain your full name, agency name, or client-specific tags from a previous assignment. If you are repurposing an image originally captioned for one client and submitting it elsewhere, those fields travel with the file unless you clear them. Some stock platforms strip on ingest; others do not. Stripping before submission gives you control over what context the file carries.
Publishing images on a website you control
Browsers do not display EXIF to visitors, but the raw bytes are served with every download. Anyone who right-clicks and saves an image from your site, or fetches it programmatically, gets the full metadata payload. A 6 MB gallery of vacation photos served without stripping is a detailed location log of your movements. CDNs that serve image files do not typically strip metadata; you need to do it at upload time or in a build pipeline. Using a browser-based remover before uploading to WordPress, Squarespace, or a static site generator handles this without a server-side processing step.
Comparing metadata removal approaches: browser tool vs. command line vs. Photoshop
There are several ways to remove image metadata; the right one depends on volume, technical environment, and how much you trust third-party services with your images.
| Approach | Privacy | Batch support | Notes |
|---|---|---|---|
| This browser tool | File never leaves device | Up to ~20 files | Zero install; EXIF+IPTC+XMP cleared; ICC preserved |
| ExifTool (CLI) | Local; open source | Unlimited; scriptable | exiftool -all= -tagsfromfile @ -icc_profile *.jpg — strips all tags, restores ICC |
| Adobe Photoshop | Local | Via File → Export batch | Save for Web excludes metadata by default; re-encodes image |
| Online converter (generic) | File uploaded to a server | Varies | Privacy policy determines retention; re-encoding common |
| Windows Explorer (right-click) | Local | Single file only | Clears EXIF subset only; misses XMP and IPTC; re-encodes JPEG |
| macOS Preview | Local | Single file only | Inspector shows metadata but offers no removal; Export re-encodes and may strip some EXIF inconsistently |
For handling more than 20 files at once, the batch metadata stripper on this site processes multiple JPEG and PNG files in one pass, still entirely in the browser.
What EXIF, IPTC, and XMP metadata each contain
Digital images carry three distinct metadata standards that overlap in purpose but differ in structure, age, and what they typically store. Knowing which standard holds which field helps you understand exactly what gets removed when you strip an image.
| Standard | Origin | Typical fields | Privacy risk |
|---|---|---|---|
| EXIF | Camera/phone firmware, 1995 | GPS latitude/longitude, altitude, timestamp, camera make and model, lens focal length, aperture, ISO, shutter speed, flash state, orientation, thumbnail | High — GPS pinpoints exact location; timestamp reveals daily routine; device model fingerprints hardware |
| IPTC | Press wire standard, 1991 | Caption, headline, keywords, creator name, credit line, copyright notice, city, country, date created, object name, special instructions | Medium — photographer's real name and agency often embedded by default in Lightroom and Capture One exports |
| XMP | Adobe standard, 2001 | Edit history (every Lightroom or Photoshop adjustment logged with timestamp), creator tool and version, document ID, rating, color label, collections, rights usage terms, web statement URL | Medium-high — edit history can reveal software stack and workflow; document ID links files across sessions |
EXIF lives in a compact binary block near the start of JPEG and TIFF files. IPTC uses a legacy IIM binary format embedded in a JPEG APP13 marker. XMP is serialized as UTF-8 XML, which is why it is readable as plain text if you open a JPEG in a text editor and scroll past the image data. A single photo exported from a modern camera and edited in Lightroom often carries all three simultaneously, with some fields duplicated across standards — GPS coordinates can appear in both EXIF and XMP, for example. Removing just one standard leaves the others intact, which is why a thorough remover targets all three in a single pass.
Pre-share checklist: what to remove before posting an image online
Before sharing any photo on social media, a forum, a portfolio site, or via email, run through this checklist. Each item maps to a metadata field that common platforms either preserve verbatim or index for their own purposes.
- ✓GPS coordinates — EXIF tags GPSLatitude, GPSLongitude, GPSAltitude. A single geo-tagged selfie posted to a public forum reveals your home address if taken indoors. X (Twitter) strips GPS on upload; Facebook and Instagram do not always, depending on API version and client.
- ✓Camera serial number — EXIF tag CameraSerialNumber, sometimes BodySerialNumber. Uniquely identifies your physical device across unrelated photos posted under different accounts.
- ✓Lens serial number — EXIF LensSerialNumber. Less widely known than camera serial, but present in mirrorless and DSLR bodies that log the attached lens and can be used to correlate images across sessions.
- ✓Creator name and contact — IPTC Creator, CreatorContactInfo. Lightroom writes your registered name and email into every export by default unless you explicitly clear the metadata preset. Check File → Export → Metadata in Lightroom before assuming images are clean.
- ✓Capture timestamp — EXIF DateTimeOriginal, DateTimeDigitized. Even without GPS, repeated timestamps from the same location window (home, office) reveal a schedule. Timestamps also break anonymity when cross-referenced with public event photos taken at the same second.
- ✓Editing software and version — XMP CreatorTool, HistorySoftwareAgent. Reveals the exact version of Photoshop, Lightroom, or GIMP used, which can be tied to known vulnerability windows or used in forensic analysis to dispute image authenticity.
- ✓Document and instance IDs — XMP DocumentID, OriginalDocumentID, InstanceID. Adobe applications generate stable UUIDs that link a published JPEG back to its source PSD and to every other export of the same document.
- ✓Embedded thumbnail — EXIF thumbnail IFD. The thumbnail can differ from the main image if the image was cropped after shooting but before the EXIF block was regenerated, potentially exposing content you intended to remove.
ICC color profiles are intentionally excluded from this checklist. They contain no personal information — only colorimetric calibration data — and stripping them causes visible color shifts on calibrated displays. This tool preserves ICC profiles while removing all the fields above.
How to verify metadata was actually removed after cleaning
Downloading a "cleaned" file does not guarantee removal was complete. Some tools strip only EXIF and leave IPTC or XMP intact. Others re-encode the image (which drops pixel-level data) but re-inject a fresh XMP block containing the software name and a new document ID. These four methods let you confirm the output file is genuinely empty.
1. Browser DevTools (no install)
On any desktop browser, drag the cleaned file into a new tab. It renders the image. Open DevTools → Network, reload, click the image request, then Headers → Response Headers. You will not see metadata here because metadata is not transmitted as HTTP headers — this step only confirms file size. To inspect actual metadata in the browser, use the metadata viewer on this site, which reads the binary EXIF/IPTC/XMP blocks client-side and displays every tag it finds.
2. ExifTool read-only scan
Run exiftool -a -u -g1 cleaned.jpg on the output file. The -g1 flag groups tags by IFD, so you can immediately see whether EXIF IFD0, ExifIFD, GPS IFD, IPTC, and XMP each return zero fields. A fully stripped JPEG shows only File System and Composite groups, plus an ICC_Profile group if the profile was preserved.
3. Hex editor spot-check
Open the output file in a hex editor (VS Code with the Hex Editor extension works). Search for the ASCII strings Exif, Photoshop 3.0 (IPTC marker), and xpacket begin (XMP packet wrapper). None of these strings should appear in a properly stripped file. Finding any of them means the corresponding metadata block is still present.
4. File size comparison
A typical smartphone JPEG carries 40–120 KB of metadata. After stripping, the file should be noticeably smaller — usually 30–80 KB smaller for a 3–6 MB photo. If the output file is within 2 KB of the original, the tool almost certainly did nothing. File size is a rough signal only; a tool that re-encodes the image at lower quality can produce a smaller file while re-injecting metadata, so always confirm with ExifTool or the hex check rather than relying on size alone.