In one paragraph
KitFuse reads your photo with your browser's built-in File API, maps the blocks inside the file, lists the ones that hold metadata, and writes a new file that contains only the image blocks. It then scans the new file again to confirm nothing personal is left. All of this runs as JavaScript on your device. No photo is ever sent to a server.
Step by step: what happens when you clean a photo
Here is the full journey of a photo through KitFuse. Nothing on this list involves the internet.
- Your browser opens the file locally.
When you choose or drop a photo, the browser gives the page a reference to that file on your device. KitFuse reads the bytes into memory using the standard File API. This is the same mechanism a photo editor in your browser uses. The file is not copied anywhere else.
- KitFuse identifies the real format.
File names can lie, so KitFuse checks the first few bytes of the file, known as the signature. A JPEG always starts with
FF D8 FF, a PNG with89 50 4E 47. That way an HEIC photo renamed to.jpgis still handled correctly. - It maps the file and lists the hidden data.
Photo files are made of labeled blocks. KitFuse walks through every block and reads the ones that carry metadata: EXIF, GPS, XMP, IPTC, comments, thumbnails and anything stored after the end of the image. GPS values are converted into normal latitude and longitude so you can see exactly what a photo gives away.
- It rebuilds the file without the metadata.
When you press Clean metadata, KitFuse creates a new file. For JPG, PNG, WebP and GIF it copies across only the blocks needed to display the picture. For HEIC, AVIF, TIFF and videos it wipes the metadata in place and leaves every other byte where it was. Either way, the image or video data is copied exactly, so nothing is re-encoded and no quality is lost.
- It checks its own work.
The new file is scanned with the same reader used in step 3. Only if that second scan finds no personal metadata does the photo get the green Clean badge. If anything is left, you'll see a warning instead of a false promise.
- You download or share the clean copy.
The clean file is handed to your browser as a local download. If you clean several photos, KitFuse builds the ZIP file on your device too. On phones that support it, you can also use Save or share to send photos straight to your gallery.
What KitFuse keeps, and why
A photo metadata remover has one job: remove what identifies you, without damaging the picture. A few pieces of data are needed to display the photo correctly, so KitFuse keeps them by default.
- The image data itself. Obviously. It's copied exactly as it was.
- Basic structure blocks. Things like the image size, color format and compression tables. Without them the file wouldn't open. They describe the picture, not you.
- The color profile (optional). An ICC profile tells screens how to show colors. Modern iPhones shoot in Display P3, and removing the profile can make those photos look washed out. A profile holds a technical description such as "Display P3", nothing personal.
- The rotation flag (optional). Phones often store photos sideways and record a rotation value. If the original had one, KitFuse writes a tiny new EXIF block that contains that single number and nothing else.
Both optional items can be switched off under Cleaning options. With both off, the file contains no metadata at all.
How each file format is cleaned
Each format stores metadata differently, so KitFuse uses a dedicated method for each one.
| Format | Where metadata lives | How KitFuse cleans it | Quality |
|---|---|---|---|
| JPG / JPEG | APP1 (EXIF and XMP), APP13 (IPTC), APP2 (multi-picture data), APP11 (Content Credentials), comment blocks, data after the end marker | Removes those segments and copies the image scans exactly | Lossless |
| PNG | eXIf, tEXt, iTXt and zTXt chunks (including AI prompts), tIME, private chunks | Keeps only the chunks that draw the image | Lossless |
| WebP | EXIF and XMP chunks | Removes the chunks and updates the file header flags | Lossless |
| HEIC / HEIF / AVIF | EXIF and XMP items inside the container | Wipes those items in place; the picture data and file layout stay the same | Lossless |
| GIF | Comment blocks, XMP and other application extensions | Removes those blocks and keeps the animation and loop settings | Lossless |
| TIFF | EXIF, GPS, XMP, IPTC and descriptive tags | Removes the tags and wipes their data, keeping only what draws the image | Lossless |
| MP4 / MOV | User data (GPS, make, model, software), Apple and Android metadata keys, XMP, creation dates, telemetry tracks | Turns metadata boxes into empty padding and clears dates; audio and video are untouched | No re-encoding |
| WebM / MKV | Title, tags, writing app, recording date, attachments | Replaces those elements with empty padding | No re-encoding |
| Document info (author, title, app, dates), XMP, document ID, comment authors | Rewrites the PDF without them; pages and text are copied as they are | Same content |
Because HEIC, AVIF and video files are patched rather than re-encoded, KitFuse doesn't even need your browser to be able to play them. A Chrome user on Windows can clean an iPhone HEIC photo or a 4K MOV video, and the result is byte-for-byte identical apart from the wiped metadata. Large videos are read in small pieces, so a 2 GB recording doesn't have to fit in memory.
How to check that nothing is uploaded
Privacy claims are easy to make. Here's how to verify ours in under a minute.
The airplane mode test (any device)
- Open KitFuse and wait for the page to finish loading.
- Turn on airplane mode, or disconnect from Wi-Fi.
- Add a photo, clean it and download it. Everything still works.
- For extra peace of mind, close the tab before you reconnect.
A tool that uploads photos would fail at step 3. KitFuse doesn't, because it has nothing to send.
The developer tools test (desktop)
- Press F12 (or Cmd + Option + I on a Mac) and open the Network tab.
- Clean a photo and watch the list of requests.
- You'll see no request that carries your image. Any entries starting with
blob:are local files in your own browser's memory.
The page does load ordinary website files such as the stylesheet, and advertising code from Google once ads are enabled. KitFuse's own code never passes your photo to any of them.
Limits worth knowing about
Removing metadata solves one specific problem. To use it well, it helps to know what it doesn't do.
- It can't change what's visible in the picture. A house number, a street sign, a school logo or a reflection in a window can reveal just as much as GPS data. Crop or blur those before sharing.
- It can't recall copies you've already shared. Clean photos before they leave your device.
- File names can carry information. Names like
IMG_20260412_183012.jpginclude the date and time. Turn on Rename files to replace them with neutral names. - RAW camera files aren't supported yet. KitFuse tells you when a file falls into this group.
- Signed PDFs lose their signature. Any change to a digitally signed PDF invalidates the signature, so clean a copy and keep the signed original.
Still curious about the data itself? Our guide What is photo metadata? explains every type in plain English, and the FAQ covers the most common questions.