https://aionextensions.pages.dev/ · Privacy & Security
3 items
Strip EXIF, XMP, IPTC and other metadata from images at the binary level. Lossless, local, supports JPEG / PNG / WebP / GIF. ExifPurge removes hidden metadata from images without touching a single pixel. No re-encoding. No format conversion. No quality loss. Drop a photo on the popup, hit Clean, get the same image back — minus the GPS coordinates, datetime, camera serial, edit history, and everything else that quietly travels with the file. 🔬 BINARY-LEVEL STRIPPING — NOT A CANVAS REDRAW Most "EXIF removers" load the image into a <canvas>, redraw the pixels, and re-save as JPEG. That works in the most literal sense (the metadata goes away) but it ALSO converts every PNG to JPEG, kills GIF animations, flattens transparent images onto a white background, drops the ICC color profile, and re-compresses the pixel data with a lossy codec. ExifPurge parses the file format directly: • JPEG → walk APP0/APP1/APP2/APP13/COM segments, drop the ones that carry metadata, copy everything else verbatim including the Huffman-coded pixel data. • PNG → walk IHDR/IDAT/IEND/tEXt/zTXt/iTXt/eXIf/tIME/iCCP chunks, drop the ones that carry metadata, keep the rest CRC-intact. • WebP → walk RIFF chunks (VP8/VP8L/VP8X/ANIM/ANMF/EXIF/XMP/ICCP), drop metadata chunks, recompute the container size, patch the VP8X feature flags so decoders don't expect chunks that aren't there. • GIF → walk extension blocks, drop Comment + Application Extensions (except NETSCAPE2.0 — which carries the animation loop count). The result: byte-identical pixel data, original format preserved, file typically a few KB smaller, animations and transparency intact. 🗺 WHAT GETS REMOVED • GPS coordinates — exact location the photo was taken • Date and time — when the photo was taken • Camera model + serial — device fingerprint • Software trail — every app that ever edited the image • Author and copyright fields — IPTC and XMP • Edit history — Adobe Lightroom keeps the entire edit log in XMP • Comments and notes — whatever a previous tool may have embedded 🎨 WHAT STAYS BY DEFAULT • ICC color profile (toggle it off if you want a smaller file at the cost of visible color shift on calibrated screens) • Animation in GIFs (frames, timing, loop count all preserved) • Transparency in PNG and WebP • Original file format and pixel data — bit for bit 🖼 SUPPORTED FORMATS JPEG, PNG, WebP, GIF (animated). TIFF is intentionally NOT listed — browsers can't reliably decode it and most users don't actually have TIFF files. HEIC inputs convert through the OS share sheet on iPhones before they ever hit a desktop browser, so we don't claim support for a format we can't honestly handle. 🔒 PRIVACY-FIRST DESIGN • 100% local. Zero network requests. The extension makes no XHR, no fetch, no WebSocket, no analytics call. • No host_permissions. The popup can't read any tab content. • No content scripts. Pages you visit can't see the extension at all. • Only "storage" permission — used to remember your dark-mode setting and the "Keep color profile" toggle. Stored in chrome.storage.sync, synced via your own Chrome account, never seen by us. • Open source, auditable. The whole stripping logic is four short JS files under /lib. 📋 SHARE-READY OUTPUT After cleaning, ExifPurge lets you: • Download the file to its original location with a "_cleaned" suffix • Copy the image to your system clipboard (auto-converted to PNG for clipboard-compat where necessary) • Inspect exactly what was removed ("Removed: EXIF · XMP · IPTC") ═══════════════════════════════ WHY v2? The v1 extension worked in the literal sense — metadata was gone — but it silently: - Converted every PNG / GIF / WebP / BMP to JPEG - Flattened transparent images onto a white background - Reduced animated GIFs to a single frame - Re-encoded JPEGs through canvas at quality 0.85–0.92, introducing visible artefacts on screenshots and graphics - Dropped the ICC color profile (visible color shift on most screens) v2 keeps the same drag-and-drop UX but replaces the engine with real binary parsers, one per format. The output is the input minus its metadata. Nothing more, nothing less. ═══════════════════════════════ CHANGELOG 2.0.0 — Complete rewrite. • Binary-level metadata stripping per format (JPEG / PNG / WebP / GIF) • Original format preserved (PNG stays PNG, GIF keeps animation) • Zero quality loss (no canvas re-encode) • ICC color profile preserved by default • Metadata preview before cleaning ("Found in this image: …") • Cleaned summary ("Removed: EXIF · XMP") • Self-contained — no CDN dependencies, no host permissions • Inline SVG icons (offline-friendly) 1.0 — Initial release. ═══════════════════════════════ CREDITS ExifPurge has no third-party runtime dependencies. The binary parsers are written from scratch against the public JPEG, PNG, WebP, and GIF specs. If you find a bug — particularly with a strange JPEG that doesn't strip correctly — please report it.
May 14, 2026
rating_count is the Chrome Web Store ratings count, not a written-review count.
Media assets
Screenshots and videos on the listing.
Has promo video
Whether the listing includes at least one video.
Languages
Declared language locales.
Developer website
Listing exposes a developer website URL.
Contact email
Listing exposes a contact email.
Keyword in name
Case-insensitive substring match in the name.
Keyword in description
Case-insensitive substring match in the description.
Keyword occurrences in description
Count of case-insensitive occurrences in the description.
Category user-count percentile
Share of same-category extensions with fewer users (null if unknown).
These are transparent listing completeness / keyword signals, not a prediction of Chrome Web Store search ranking.