ChatGPT Watermark Detector
Check text without changing it. Paste anything and see precisely which hidden characters are in there, how many, and what each one is.
Check text for hidden characters
Your text is processed in memory and never stored. See the full list of characters this removes.
What the detector reports
This reads your text and reports what it finds. It does not rewrite anything, which makes it the right tool when you want to know whether a document has a problem before deciding what to do about it: checking a submission, auditing a content pipeline, or confirming a suspicion about a file someone sent you.
| Category | Examples | Why it matters |
|---|---|---|
| Invisible characters | U+200B zero-width space, U+FEFF byte-order mark, U+00AD soft hyphen | Splits words for search and screen readers; invisible in every editor |
| Non-standard spaces | U+202F narrow no-break, U+00A0 non-breaking, U+2003 em space | Breaks exact-match search and CSV parsing |
| Bidi controls | U+202A to U+202E, U+2066 to U+2069 | Can make displayed text differ from actual text |
| Tag characters | U+E0000 to U+E007F | Can hide a complete hidden message inside ordinary text |
| Lookalike letters | Cyrillic а, о, е; Greek ο, ν, ρ | Two identical-looking strings that never match |
| Styled letterforms | Mathematical alphanumerics, fullwidth forms | Fake bold that breaks search and accessibility |
How to check text yourself, without a tool
You do not need us for this, and it is worth knowing how. In most editors you can search with a regular expression for the ranges involved. In VS Code, enable regex search and look for the invisible ranges directly. On the command line, piping a file through a hex dump shows every byte for what it is.
The reason to use a tool is coverage and speed: there are several hundred codepoints worth checking across a dozen Unicode blocks, and doing it by hand means writing out the ranges every time.
FAQ
Frequently asked questions
- Does the detector change my text?
- No. It reads and reports. If you want the text cleaned, use the cleaner on the homepage, which returns a fixed copy.
- Can this detect whether text was written by AI?
- No. It detects characters, not authorship. Hidden characters are weak evidence at best. Plenty of AI text has none, and plenty of human text picked some up from a word processor or a web page.
- Is there an API for detection?
- Yes. POST to /api/v1/detect with your API key and you get the same counts back as JSON, without the cleaned text.
Last reviewed .