Server connection (optional)
Sends the cleaned text to the local endpoint you configured. Cleaning itself never leaves this device.
Rewrite instructions
Runs every detector on the same input and reports each one separately. Character-level marks, file metadata and statistical (token-sampling) watermarks are different worlds, and cleaning one says nothing about the others.
Keyed-Gumbel (EXP) key
Model-free, runs entirely in this page. Enter the key the text was generated with. The key is never stored or sent anywhere, and it is gone when you reload.
Generates text with a known key so you can watch the statistical detectors agree with the right key, disagree with the wrong one, and ignore Layer A cleaning entirely. Runs on your own machine.
About Unmark
Unmark removes the digital watermarks and provenance marks that AI tools leave on what they generate: the invisible Unicode characters hidden in text, and the C2PA, EXIF, XMP and ID3 metadata carried inside image, audio and video files. It runs in your browser, so nothing is uploaded.
What it removes
Invisible Unicode carriers in text (zero-width characters, variation selectors, homoglyph spaces), and container metadata in files: C2PA / Content Credentials, EXIF, XMP, PNG text chunks, ID3 tags. Pixels, samples and waveforms are never touched and nothing is re-encoded.
What it cannot remove
Statistical watermarks (SynthID-Text, KGW, keyed-Gumbel) live in how tokens were sampled, and pixel-domain watermarks live in the image itself. Neither is a character or a metadata field, so stripping those does not remove them. The Inspector tab tests for them separately and says so plainly.
How to trust it
The engines are a faithful JavaScript port of the upstream watermarks-remover Python service, held to byte-for-byte parity tests on every change. No uploads, no analytics, no third-party requests. Open source, MIT.