A browser port of the three-layer approach in guillaumemeyer/watermarks-remover. It finds the characters and metadata that mark a file as machine-made or trace it back to you — invisible Unicode, hidden payloads, EXIF, XMP, C2PA content credentials, document properties — removes them, and tells you exactly what it did. Every byte stays on this device.
Scanning happens as you type. Nothing leaves the page.
Each hidden or substituted character, made visible in place.
| Codepoint | Name | Count | Action | Classification | Note |
|---|
Borrowed from the upstream project, because the vocabulary is the useful part:
This is for content you own or are authorised to process: stripping the GPS coordinates out of a photograph before you post it, taking your name off a document before it circulates, removing an invisible tracking string someone pasted into text they sent you. Passing off machine-written work as your own, defeating attribution you agreed to, or impersonating someone is not what it is for, and removing a marker does not change what the content is.
Do not take this page's word for it. exiftool -a -G1 file.jpg lists everything left in an image,
c2patool file.jpg checks for content credentials, and qpdf --qdf --object-streams=disable
makes a PDF's structure readable so you can grep it. If a check disagrees with the report above, the check is right.
The code is four small dependency-free modules —
unicode.js, images.js, pdf.js, containers.js — and there is a
test page that runs the assertions in your browser.
Read it on GitHub.