Your phone embeds a small diary in every photo: GPS coordinates, camera model, timestamps. Most “metadata remover” sites ask you to upload that diary to their server first — which rather defeats the purpose.
I build ToolVero, a set of 70+ free tools that run entirely in your browser, and the image metadata remover takes the opposite approach: the photo never leaves the device. Here’s the whole trick.
The method: decode, then re-encode from pixels
EXIF, GPS and XMP all live in the JPEG’s metadata segments — they are not part of the image data itself. So instead of surgically deleting segments, we throw the container away:
- Decode the uploaded JPEG into a canvas bitmap (pixels only — the browser’s image decoder does not carry EXIF into the bitmap).
- Create a fresh PNG from those pixels with
canvas.toBlob('image/png'). - Offer that PNG as the download, under a neutral filename.
A PNG produced this way contains only IHDR, IDAT and IEND chunks. There is simply nowhere for EXIF to hide, because we never copied the original file’s segments — we re-created the image from raw pixels.
const img = await createImageBitmap(file); // pixels only, no EXIF
const canvas = document.createElement('canvas');
canvas.width = img.width;
canvas.height = img.height;
canvas.getContext('2d').drawImage(img, 0, 0);
const clean = await new Promise(r => canvas.toBlob(r, 'image/png'));
// `clean` is a fresh PNG: IHDR + IDAT + IEND, zero metadata segments
Why the output is clean by construction
PNG has no EXIF segment to preserve, and this method never copies the original file’s metadata segments at all — only the pixels. So EXIF, GPS and XMP have nowhere to survive. (Re-encoding to JPEG via canvas is equally clean, since canvas never writes EXIF — but PNG is the safer default because the format itself can’t carry the metadata.)
Why client-side matters
The privacy win isn’t just the stripped file — it’s that the stripping happens on your machine. No upload means no transit interception, no server logs, no “we delete after 24 hours” promises to trust. For a privacy tool, the architecture is the feature.
Try it on your own photos: Image Metadata Remover — everything runs locally in the tab.
Top comments (0)