Transparent method
How the local watermark checker works
Watermark Tidy is a static browser application. It checks a defined set of text code points and PNG/JPEG metadata structures, reports exact supported findings, and removes only reviewed ranges. It does not upload content or claim universal watermark detection.
Use the watermark checkerText inspection
The text path iterates through Unicode code points and classifies supported zero-width characters, joiners, bidirectional controls, tag characters, variation selectors, and unusual spaces. Results include the character name, code point, count, and first positions.
Every finding is preserved by default. After review, you can explicitly select supported character types to remove or normalize in a separate output. The selected types are scanned again before copy. The original input is not overwritten because matched characters can have legitimate uses in emoji, scripts, and typography.
PNG and JPEG inspection
The image path checks magic bytes and validates container boundaries before reading metadata.
PNG inspection validates chunk order and CRCs, then decodes bounded text metadata, including
compressed zTXt and iTXt. JPEG inspection parses marker segments up
to the image scan and reconstructs supported JPEG-XT/JUMBF groups.
A JPEG C2PA finding requires the manifest-store structure, exact C2PA UUID, and
c2pa label. Fragment groups are checked for declared length and the C2PA
contiguity rule. Extended XMP is reconstructed only when its GUID, total length, offsets, and
coverage are consistent.
Targeted removal and re-checking
Removal operates on byte ranges identified during inspection. Dedicated PNG metadata chunks
and complete C2PA groups can be removed; shared XMP is review-only because deleting the entire
packet could discard unrelated information. PNG IDAT data and the JPEG scan are
copied byte-for-byte.
The cleaned file is parsed and decoded again before download. This verifies that supported removable findings are gone and that the browser can still decode the result. The tool does not canvas-reencode images, strip every metadata block, or alter pixels.
Local processing and defense in depth
- No application server, upload route, account, database, analytics, or remote model.
- A Content Security Policy blocks application network connections and form submissions.
- Browser spellcheck, autocorrect, autocomplete, and form serialization are disabled for text.
- File limits cap compressed bytes and decoded image dimensions before preview.
- Object URLs are revoked when files change or the page closes.
What a result means
| Result | What it means | What it does not mean |
|---|---|---|
| Supported text match | A listed Unicode code point exists | AI authorship or intentional watermarking |
| C2PA container found | A supported manifest-store structure exists | Valid signature, trusted signer, or AI origin |
| AI metadata field found | A recognized source field/value exists | Pixel-level AI detection |
| No supported finding | The implemented checks found nothing | Watermark-free, authentic, or human-made |
References and implementation history
The initial rules were adapted from Guillaume Meyer's MIT-licensed watermarks-remover project. The browser implementation intentionally narrows broad upstream heuristics, validates container structure, bounds decompression, separates C2PA from AI claims, and uses targeted removal rather than stripping most metadata.
Method last reviewed August 12, 2026.