jokwa135
🚀

Evanesco

BuildingProven

Tiny Windows app that removes file metadata. Drop a file or folder, click Remove Metadata.

Visit site

README

Evanesco

Evanesco — from Latin evanescere, "to vanish." Also the vanishing spell from Harry Potter. Fitting for an app that makes your metadata disappear.

Evanesco is a tiny, portable Windows app that removes metadata from files and folders.

Drop a file or folder into the window, click Remove Metadata, and Evanesco strips the metadata locally using its bundled ExifTool and FFmpeg. No upload. No install. No command prompt. No admin rights. No internet connection.


Why you might want this

Metadata is invisible information embedded inside your files. Photos store GPS coordinates, camera model, lens settings, and timestamps. Documents store author names, revision history, and software version. Videos store device identifiers and creation dates.

You might want Evanesco if you:

  • Share photos online and don't want the exact GPS location of your home embedded in them
  • Send documents to others and don't want your name, machine name, or edit history exposed
  • Post videos and don't want device or creation metadata attached
  • Work with sensitive files and want a clean, metadata-free copy before sharing
  • Are a journalist, researcher, or activist who needs to remove identifying information from files
  • Just want clean files — no data trail, no fingerprints

Evanesco handles all of these. Images and documents are cleaned by ExifTool; videos and audio are cleaned by a lossless FFmpeg remux — including formats ExifTool cannot write at all (MKV, WebM, AVI) and stream-level metadata a tag editor can never reach.

It is equally important to know what Evanesco cannot do. Metadata is one layer of a file, and some identifying information lives in the picture itself where no metadata tool can reach it. See What Evanesco does not remove before relying on it for anything that matters.


Download

Download Evanesco.exe from the Releases page →

Single file. No installer. No dependencies. Just run it.


How to use

  1. Open Evanesco.exe
  2. Drag a file or folder into the app window
  3. Click Remove Metadata to erase everything, or Rewrite Metadata... to replace it with a chosen identity
  4. Read the output shown in the app

For folders, Evanesco processes all files recursively, including nested subfolders.

What "Remove Metadata" clears

Removal covers metadata inside the file, within the video bitstream, and beside the file in Windows:

  • In-file metadata — EXIF/GPS/XMP/IPTC in images, and all container/stream metadata, chapters, telemetry tracks (e.g. GoPro/DJI GPS), and cover art in video/audio.
  • H.264 bitstream SEI — encoder identification carried inside the video data rather than in the container: the x264 build string, the full encode parameter list, timecode, and vendor UUIDs. A container remux does not touch this; Evanesco strips it with a bitstream filter. See the limitations section for why HEVC is different.
  • Zone.Identifier — the hidden NTFS "downloaded from the internet" stream that records the source URL of downloaded files.
  • Filesystem timestamps — the NTFS created/modified/accessed times are reset to a neutral value (2000-01-01), so the dates don't leak into archives or on shared media.

Video levels

Video files offer three levels of cleaning. Standard is the default and is what most people want.

Level What it does Quality cost
Standard Container remux + SEI strip. Streams copied bit-for-bit. None — lossless
Deep Re-encodes the video (H.264, CRF 18) with a 1% punch-in. Replaces the source encoder's compression fingerprint with a uniform one, and destroys simple pixel-level steganography. One compression generation, visually near-invisible
Maximum Adds strong denoising and halves the resolution. Reduces camera sensor-noise (PRNU) correlation. Visible — softer and smaller

Deep and Maximum also allow a crop region, for cutting out burned-in subtitles or a timestamp. Maximum offers Restore original resolution, which scales back up within the same pass — the discarded detail does not return, but the clip regains its dimensions without a second re-encode.

Re-encoding preserves 10-bit sources rather than flattening them to 8-bit.

Document content options

Office documents leak in ways that aren't metadata at all. These are opt-in, in Settings → Documents, because they change the document rather than its labels:

Option What it does Risk
Remove comments Deletes the comment parts and their inline anchors, relationships, and content-type entries together Loses reviewer notes
Remove speaker notes Deletes PowerPoint notes slides Loses the presenter script
Accept tracked changes Unwraps insertions, discards deletions, clears revision records and rsid editing-session fingerprints Loses edit history
Rebuild PDFs Reconstructs the document so hidden metadata is physically gone Drops outlines, attachments, form definitions
Remove hidden worksheets Deletes hidden and very-hidden sheets May break the workbook — forces clean-to-copy

Hidden worksheets are reported by name even when you don't remove them, so you find out they exist before sending the file. Visible sheets often reference them, which is why removal isn't the default.

Rewrite Metadata (decoy identity)

Instead of leaving a conspicuously blank file, you can strip everything and stamp new values. Rewrite Metadata... opens a window with three modes:

  • Generic — writes the same fixed, plausible decoy every time (a common phone, a neutral date, no GPS).
  • Randomize — generates fresh plausible values on each run (random camera, date, and GPS near a real city).
  • Custom — you type exact values for make/model, software, capture date, GPS, artist, and copyright.

Rewrite works on images (via ExifTool) and video/audio (via FFmpeg). MP4/MOV now keep make, model, and software as well as date, GPS, artist, and copyright — the camera-identity fields are written into the QuickTime keys atom, the same place Apple stores com.apple.quicktime.make. (Earlier versions silently dropped make/model/software on MP4; that is fixed.)

Be realistic about what a decoy achieves. Rewriting breaks correlation between your files — someone cannot cluster your uploads by a shared camera fingerprint. It will not survive examination. The bitstream, container structure, and encoder characteristics still reflect whatever actually produced the file, and a mismatch between those and the stamped metadata is more conspicuous than blank metadata would be. Treat Rewrite as anti-correlation, not as a disguise.


⚠️ Important warning

Evanesco modifies files in place. There is no undo.

No backup files are kept, and filesystem timestamps are reset. Always test on copies first if the files are important to you.


What Evanesco does not remove

Evanesco cleans metadata and bitstream-level identifiers. It does not, and largely cannot, remove information carried in the picture and sound themselves. If you are relying on this tool for something consequential, these limits matter more than the feature list.

Robust / forensic watermarks — not removed. Systems like Digimarc, NexGuard, and Verance/Cinavia embed an imperceptible payload across the whole frame, in the perceptually significant coefficients a codec must preserve to look acceptable. They are explicitly designed to survive re-encoding, cropping, scaling, rotation, frame-rate changes, and even camcorder capture. No level of Evanesco defeats them. These marks are applied by distribution systems — streaming services, screeners, enterprise DRM — and are not present in footage you shot yourself.

Camera sensor fingerprint (PRNU) — reduced at best. Every image sensor has a unique noise pattern from manufacturing imperfections, present in every frame it captures, identifying the individual physical device. Standard and Deep leave it intact. Maximum attenuates it through denoising and downscaling, but does not erase it. It is only a threat if an adversary possesses the camera or reference footage from it.

Anything visible in the picture — not removed. Burned-in timestamps, watermarks, logos, captions, reflections, faces, documents on screen. Use the crop region for content in a fixed area; nothing else touches this.

HEVC bitstream SEI — not removed. In H.264, encoder identification sits in the packet stream where a bitstream filter can drop it. In HEVC it lives in hvcC extradata, which no stream-copy path reaches — verified against filter_units, hevc_metadata, and an Annex B round-trip. Only re-encoding clears it, so Standard leaves it in place on HEVC files. This matters because iPhones record HEVC by default. Deep and Maximum replace it with Evanesco's own uniform encoder string.

C2PA Content Credentials — removed. If a file carries Content Credentials (the provenance standard used to mark AI-generated media), Evanesco strips them along with all other metadata. Platforms that rely on those credentials to auto-apply an "AI-generated" label will no longer see them. If you are cleaning synthetic media, disclose it another way.

PDF metadata — hidden by default, removable on request. ExifTool edits PDFs incrementally, so by default previous metadata is removed from view but stays physically in the file. Enabling Rebuild PDFs in Settings → Documents follows up with qpdf, which reconstructs the document from its page tree and physically discards the superseded objects. The tradeoff is that structures outside the page tree — outlines, attachments, and form definitions — are not carried across, which is why it is opt-in. The Thorough and Maximum presets turn it on.

Office documents — hidden areas of cropped images are not removed. Word stores the whole original image and applies the crop only for display, so the cropped-away portion is still in the file. Removing it needs image re-encoding and is not implemented. Comments, speaker notes, tracked changes, and hidden worksheets are handled — see below.

What has and hasn't been verified

Claims above are tested against real media except where noted. HDR passthrough on the re-encode levels is untested — the code carries the transfer characteristics through, but no HDR-tagged sample was available to verify against.


Supported file types

Evanesco routes each file to the right tool automatically:

Type Examples Cleaned by
Images JPG, PNG, TIFF, WebP, HEIC, many RAW formats ExifTool
Videos MP4, M4V, MOV, MKV, WebM, AVI, WMV, FLV, MPG, TS, 3GP FFmpeg remux
Audio MP3, M4A, FLAC, WAV, OGG, OPUS, WMA, AIFF, AAC, MKA FFmpeg remux
Documents PDF ExifTool

Note on videos and audio: tag editors like ExifTool cannot fully clean many video containers (MKV, WebM, and AVI are read-only for it, and stream-level metadata survives a tag pass everywhere else). At the Standard level Evanesco instead rebuilds the container with its bundled FFmpeg: every video, audio, and subtitle stream is copied bit-for-bit — no re-encoding, zero quality loss — while all metadata, chapters, embedded telemetry/data tracks (e.g. GoPro GPS), attachments, and embedded cover art are dropped. Resolution, duration, codec, and quality are unchanged. H.264 bitstream SEI is stripped in the same pass. The Deep and Maximum levels re-encode by design and do cost quality; see Video levels.

Note on documents: ExifTool edits PDFs incrementally, so a PDF's old metadata is hidden from viewers but not physically shredded from the file. Office formats (DOCX, XLSX, PPTX) are not currently supported — ExifTool can read their author/company/history but cannot write to them, so Evanesco reports them as skipped rather than silently leaving metadata in place.


Privacy

Evanesco works entirely offline. Your files never leave your computer.


Support

Free and open source, maintained best-effort. Problems go on the issue tracker — please include the contents of the app's output box, which usually identifies the cause on its own.

SUPPORT.md answers the common questions, including the SmartScreen warning on the unsigned GitHub build and why the download is as large as it is.

Check what Evanesco does not remove before reporting a bug — several frequently reported "failures" are documented limits that no metadata tool can overcome.


Built with

  • C# / Windows Forms — no framework install required
  • ExifTool by Phil Harvey — the industry-standard metadata tool, bundled inside the EXE
  • FFmpeg — ffmpeg.exe and ffprobe.exe bundled inside the EXE for video/audio metadata removal, codec detection, and the re-encode levels (essentials build by gyan.dev)
  • qpdf — bundled for optional PDF rebuilding, so PDF metadata can be physically removed rather than merely hidden (Apache 2.0)
  • .NET Framework 4.x — ships with Windows, nothing to install

Contributors

  • OpenAI Codex — development of the original public release (v1.0.0 – v1.2.0)
  • Claude (Anthropic) — v1.3.0: bitstream SEI stripping, video cleaning levels, Office and OpenDocument support, document content sanitisation, PDF rebuilding, verification reporting, filesystem layer, and the settings restructure

Both worked under the direction of the repository owner, who set the scope, made the product decisions, and verified the results.


Build from source

Requirements:

  • Windows 10 or 11 (x64)
  • PowerShell (built into Windows)
  • .NET Framework 4.x compiler at C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe (built into Windows)

Build:

powershell.exe -NoProfile -ExecutionPolicy Bypass -File .\build.ps1

The build script verifies the ExifTool and FFmpeg vendor ZIPs by SHA-256, compiles and runs the unit tests, then produces dist\Evanesco.exe.

Build the Microsoft Store package:

powershell.exe -NoProfile -ExecutionPolicy Bypass -File .\release.ps1

This produces dist\Evanesco-1.3.0-x64.msix, and requires the Windows 10/11 SDK for MakeAppx.exe.

The package is intentionally unsigned. The Store re-signs MSIX packages with a Microsoft certificate during certification, so no code-signing certificate is required. (MSI and EXE submissions are the opposite — the Store does not re-sign those, which is why this project packages as MSIX.) A consequence is that the package cannot be side-loaded as-is; to install locally for testing, sign it with a self-signed certificate and trust that certificate on the test machine.

The identity values in packaging/AppxManifest.xml are assigned by Partner Center and must match it exactly.

Run integration tests (uses the bundled FFmpeg for fixtures — nothing needed on PATH):

powershell.exe -NoProfile -ExecutionPolicy Bypass -File .\tests\integration.ps1

Third-party software

Evanesco bundles ExifTool by Phil Harvey and FFmpeg. See THIRD_PARTY_NOTICES.md for full attribution and license details.


License

Evanesco source code is released under the MIT License.

Journey

No updates yet.

Building a dev tool or hiring developers? Get seen here. Become our Sponsor

Stays free because of
  • King Salomon
  • RCastromero()
  • Nico Alumbro
  • exciar
  • Ruri
  • DXT303
  • Denmark Crisostomo
  • Lixter Niño D. Dinawanao
  • Joowd
  • JB Benedicto
  • euphydev
  • <JRJDev>
  • UrAvgProgrammer
  • Blairwitchii
  • John Cyrill Corsanes
  • Benson
  • Mon Albert Gamil
  • </Peter> "21st Dev Vinci"
  • Kaihzan-Nixxo Jamilla
  • rodge-dev
  • Ian de Jesus
  • John Javier R. Idmilao
  • Carlo Dandan
  • Michael William Mesina
  • wacxv
  • Doctor Scoliosis
  • Lewis John Villamor
  • King Salomon
  • RCastromero()
  • Nico Alumbro
  • exciar
  • Ruri
  • DXT303
  • Denmark Crisostomo
  • Lixter Niño D. Dinawanao
  • Joowd
  • JB Benedicto
  • euphydev
  • <JRJDev>
  • UrAvgProgrammer
  • Blairwitchii
  • John Cyrill Corsanes
  • Benson
  • Mon Albert Gamil
  • </Peter> "21st Dev Vinci"
  • Kaihzan-Nixxo Jamilla
  • rodge-dev
  • Ian de Jesus
  • John Javier R. Idmilao
  • Carlo Dandan
  • Michael William Mesina
  • wacxv
  • Doctor Scoliosis
  • Lewis John Villamor
Join them

Building a dev tool or hiring developers? Get seen here. Become our Sponsor

Stays free because of
  • UrAvgProgrammer
  • King Salomon
  • DXT303
  • Kaihzan-Nixxo Jamilla
  • rodge-dev
  • John Javier R. Idmilao
  • euphydev
  • Benson
  • </Peter> "21st Dev Vinci"
  • Ruri
  • Nico Alumbro
  • Joowd
  • Denmark Crisostomo
  • exciar
  • Doctor Scoliosis
  • <JRJDev>
  • Michael William Mesina
  • Blairwitchii
  • John Cyrill Corsanes
  • Ian de Jesus
  • Lewis John Villamor
  • JB Benedicto
  • wacxv
  • Mon Albert Gamil
  • Carlo Dandan
  • RCastromero()
  • Lixter Niño D. Dinawanao
  • UrAvgProgrammer
  • King Salomon
  • DXT303
  • Kaihzan-Nixxo Jamilla
  • rodge-dev
  • John Javier R. Idmilao
  • euphydev
  • Benson
  • </Peter> "21st Dev Vinci"
  • Ruri
  • Nico Alumbro
  • Joowd
  • Denmark Crisostomo
  • exciar
  • Doctor Scoliosis
  • <JRJDev>
  • Michael William Mesina
  • Blairwitchii
  • John Cyrill Corsanes
  • Ian de Jesus
  • Lewis John Villamor
  • JB Benedicto
  • wacxv
  • Mon Albert Gamil
  • Carlo Dandan
  • RCastromero()
  • Lixter Niño D. Dinawanao
Join them