Deterministic first
Inspect before changing. Remove only recognized Unicode carriers and safely separable metadata. Preserve code, URLs, formatting, multilingual text, and source files.
Sign up for about 375,000 words each month to rewrite statistical patterns, not just remove hidden marks.
Attachments
Why Unmarked exists
Deep clean rewrites the telltale word-choice and phrasing patterns a model leaves behind, so text reads as yours again — not as evidence of who or what wrote it.
A watermark that decides what counts as “true” shouldn’t belong to one commercial provider. Provenance should be open and regulated; until it is, your own text is yours to clean.
Every run emits an inspectable evidence report — findings, operations, hashes. Attribution should be public infrastructure anyone can verify, not a feature one vendor controls.
A fidelity-bounded rewrite through Unmarked Pro changes statistical word-choice patterns while deterministic checks protect exact details and document structure.
What we remove
Deep clean
Go beyond hidden characters. Deep clean rewrites statistical word-choice and phrasing patterns while deterministic fidelity checks protect exact details and document structure.
Suspicious joiners, word joiners and byte-order marks can survive copy, paste and email. Unsafe instances are removed; legitimate emoji and language use is kept.
Thin, hair and em spaces where an ordinary space belongs. Normalize them when you turn on spacing; non-breaking and fixed-width typography stays protected.
Cyrillic and Greek letters standing in for Latin ones. Reported with the exact codepoint and mixed-script word — never silently swapped, because that can change meaning.
Flagged, not rewritten. You decide.
Unmarked CLI
Unmarked is an open-source command-line tool for inspecting and preparing AI-assisted text and supported documents before sharing. It keeps the source file unchanged and can write a JSON evidence report alongside the cleaned copy.
uv tool install "unmark @ git+https://github.com/adventuretime1/unmarked.git@main"
unmark --versionunmark inspect draft.mdunmark edit draft.md --unicode-policy safeunmark attachment clean report.pdfStrategy and roadmap
Unmarked is built around the real AI ecosystem: different signal families need different operations, model providers should remain user-controlled, and every result should say exactly what was—and was not—measured.
Inspect before changing. Remove only recognized Unicode carriers and safely separable metadata. Preserve code, URLs, formatting, multilingual text, and source files.
Rewriting is opt-in and fidelity-gated. Unmarked supports local and user-configured model endpoints, and blocks a known source provider from rewriting its own output.
Reports name findings, operations, hashes, and rejected rewrite candidates. Unmarked never claims to prove human authorship or the absence of an unknown watermark.
How your text is handled
The free text cleaner inspects and cleans pasted text and dropped text files entirely on your device. Its report and SHA-256 hashes are generated there too. Your text is not uploaded to Unmarked, stored by us, or sent to a model.
Attachments are different: the file, filename, and media type are sent to Unmarked for inspection or cleaning. All temporary copies are deleted as soon as processing finishes. Deep clean sends your text and selected rewrite settings through Unmarked’s hosted rewrite service. Unmarked stores usage metadata, not your source or rewritten text.
Read the Chrome extension privacy policyCommon questions
Unmarked is an open-source CLI and browser-based tool for inspecting and preparing AI-assisted text and supported files for sharing.
No. Unmarked reports recognized signals and completed operations. It cannot prove authorship or guarantee that every unknown watermark is absent.
Unmarked targets safely separable EXIF, XMP, C2PA/JUMBF, document properties, PDF Info, and explicit AI-related fields in supported PNG, JPEG, SVG, PDF, DOCX, ODT, HTML, and Markdown files.
No. Unicode and metadata cleaning are deterministic. Statistical rewriting is optional and can use a local model or a user-configured remote endpoint.