Code and structured data
Zero-width characters inside identifiers, copied commands, JSON values, or configuration text can make comparisons and parsers behave unexpectedly.
Scan ChatGPT text for hidden Unicode characters, zero-width marks, unusual spaces and copy-paste artifacts. See exactly what was found before you remove anything.
Paste your text, scan it, inspect each Unicode finding and choose which character types should be removed or normalized.
The cleaned preview changes as you select or deselect character types below. Your wording is not rewritten.
This tool detects supported character-level artifacts. It does not claim that a detected character is an official OpenAI text watermark or prove that the text was generated by AI.
Paste the text you want to inspect and select Scan Text. CountFlows checks the Unicode characters in the text and separates supported findings into hidden characters, unusual spaces, directional controls, and typography.
Copy the ChatGPT text or other copied content and paste it into the scanner.
Select Scan Text. The tool checks the characters without rewriting your sentences.
Invisible findings appear as visible labels such as U+200B so you can see where they occur.
Check its Unicode code point, name, category, count, and position before changing it.
Use the recommended selection or choose individual character types yourself.
Review the cleaned version, then copy or download the text.
The goal is not to rewrite your content. It is to make invisible character-level differences visible and let you remove the ones you do not want.
Exact search can miss
A hidden character inside a visible word or phrase can stop an exact text match from working as expected.
Strings may look equal but differ
Code, JSON values, IDs, and copied strings can contain extra Unicode characters that are difficult to spot visually.
Spacing can behave differently
A no-break or narrow space may look normal while affecting wrapping, editing, or text processing.
Find and replace may skip text
A hidden character between letters can prevent a normal find-and-replace rule from matching the visible phrase.
Cleaner exact matching
Removing unwanted hidden characters makes the stored text closer to what you actually see on screen.
More predictable text values
Clean strings are easier to compare, search, parse, and move between editors or development tools.
Normalized spacing
Selected unusual spaces can be converted to standard spaces without rewriting the wording.
Easier text editing
Search, replace, counting, and comparison tools can work with fewer invisible surprises.
CountFlows uses selective cleanup. Language-sensitive joiners, directional controls, variation selectors, and visible typography are not treated the same as ordinary removable zero-width artifacts.
Hidden characters matter when software compares the actual underlying string instead of the text you can see. A single invisible code point can be enough to make two visually identical values behave differently.
Zero-width characters inside identifiers, copied commands, JSON values, or configuration text can make comparisons and parsers behave unexpectedly.
An invisible character inside a phrase can cause exact search, deduplication, or normal find-and-replace rules to miss a value that looks correct.
Hidden Unicode saved into a CMS, spreadsheet, form, or database can remain there after the visible text has been copied or edited.
Non-standard spaces and joiners can affect line wrapping, character counts, text selection, or layout without being obvious on screen.
The same characters can appear through browsers, documents, editors, websites, and copy-paste operations. Finding one tells you what is present in the string; it does not tell you who wrote the text.
The phrase “ChatGPT watermark” is commonly used online when people notice hidden or unusual characters in copied AI text. This tool checks for those concrete character-level artifacts: zero-width marks, unusual Unicode spaces, directional controls, variation selectors, and related characters.
CountFlows does not assume that finding one of these characters proves the text came from ChatGPT, and it does not present ordinary punctuation such as an em dash as proof of a hidden watermark.
Looking for the evidence behind the watermark question?
We keep the deeper research separate from this tool page so this page stays focused on scanning and cleanup.
Read: Does ChatGPT Watermark Text?The scanner looks for character-level details that are easy to miss by eye. It does not blindly delete everything unusual. Findings are grouped by type so you can decide what should be removed, normalized, or left alone.
Detect zero-width spaces, joiners, non-joiners, word joiners, and related invisible formatting characters.
Find no-break spaces, narrow spaces, thin spaces, hair spaces, and several other characters that resemble ordinary spacing.
Identify left-to-right, right-to-left, embedding, override, and isolate controls that can affect text display.
Detect supported Unicode characters that occupy a character position while appearing visually empty.
Show variation selectors separately because they may affect emoji or character presentation and should not be removed blindly.
Em dashes, en dashes, curly quotes, and ellipses are reported separately from true invisible characters.
Unicode includes characters that have no visible width or that control how nearby text behaves. A zero-width space can sit between two letters without appearing on screen, while a joiner or directional mark may have a legitimate role in some languages, scripts, or emoji.
That difference matters. The scanner therefore shows the exact Unicode code point rather than treating every hidden character as the same thing. For example, U+200B is a Zero Width Space, while U+200D is a Zero Width Joiner that can be meaningful in emoji sequences and written languages.
These are some of the character types the scanner can report. The recommended action depends on what the character does, not simply on whether it is unusual.
| Unicode | Character | Type | Default approach |
|---|---|---|---|
| U+200B | Zero Width Space | Invisible | Remove |
| U+00AD | Soft Hyphen | Invisible | Remove |
| U+FEFF | BOM / Zero Width No-Break Space | Invisible | Remove |
| U+202F | Narrow No-Break Space | Unusual space | Normalize |
| U+200C | Zero Width Non-Joiner | Language-sensitive | Review |
| U+200D | Zero Width Joiner | Emoji / language-sensitive | Review |
| U+200E | Left-to-Right Mark | Directional | Review |
| U+2014 | Em Dash | Typography | Optional |
A zero-width character or non-standard space can sit between visible characters without being obvious.
A hidden Unicode character inside a word or phrase can prevent an exact text search from matching what you see.
A no-break or narrow space can look almost identical to a standard space while behaving differently.
Invisible formatting marks can cause two values that look identical to contain different underlying character sequences.
Bidirectional controls can change how mixed left-to-right and right-to-left content appears.
An em dash is visible punctuation. CountFlows reports typography separately rather than automatically calling it a hidden watermark.
The ChatGPT Watermark Remover is primarily a Unicode inspection and selective cleanup tool. Its purpose is to reveal supported invisible and unusual characters before you decide whether to change them.
Instead of showing a vague “watermark removed” message, CountFlows provides an X-Ray preview, Unicode names, code points, occurrence counts, and positions. You can see what is actually present in the string and make the cleanup decision yourself.
Turn invisible findings into visible Unicode labels inside a preview of the original text.
See each supported character's code point, name, category, count, and positions.
Remove or normalize only the character types you choose rather than blindly changing the entire text.
Common cleanup candidates can be selected while language-sensitive characters and visible typography remain optional.
See whether your latest paste exposed a separate rich HTML clipboard layer in addition to plain text.
Em dashes, smart quotes, and ellipses are reported separately from invisible Unicode.
The full string can be scanned while the visual X-Ray preview is limited to protect browser performance.
Character inspection does not require an AI model, remote AI API, or server-side text analysis.
The two tools solve different jobs. Use this page when you want to inspect hidden Unicode and see exactly where it appears. Use the AI Text Cleaner when the problem is broader formatting cleanup.
| Task | Watermark Scanner | AI Text Cleaner |
|---|---|---|
| Inspect Unicode code points | Best choice | Not its main job |
| Show exact hidden-character positions | Yes | No |
| X-Ray invisible Unicode | Yes | No |
| Remove Markdown and HTML | No | Yes |
| General formatting cleanup | Limited | Best choice |
| Clean bullets and broader formatting | No | Yes |
Need broader cleanup instead? Open the AI Text Cleaner for Markdown, HTML, punctuation, spacing, and general AI-text formatting.
Hidden-character cleanup is not the same thing as AI-detection bypass.
Removing Unicode artifacts changes those specific characters. It does not guarantee that an AI detector will classify the writing differently because detection systems may use signals unrelated to invisible Unicode.
CountFlows therefore positions this tool as a character inspector and cleanup utility, not as a way to bypass Turnitin, GPTZero, or another AI-writing detector.
The Unicode scan and cleanup logic run in your browser. The tool does not need an AI API or server-side language model to determine which supported characters are present.
If the text contains confidential or regulated information, you should still follow your organization's own security and data-handling policies.
After checking hidden characters, choose the next tool based on what your text actually needs.
Clean formatting
Remove Markdown, HTML, unwanted spacing, punctuation issues, and broader AI-text formatting.
Review changes
Compare your original and cleaned text side by side to see exactly what changed.
Make precise edits
Replace specific words, phrases, or characters using custom and bulk replacement rules.
Check final length
Measure the final character count after inspecting or cleaning your text.
It scans for supported hidden Unicode characters, zero-width characters, unusual spaces, directional controls, and other character-level artifacts. You can review the findings and choose which character types to remove or normalize.
No. Hidden characters are not present in every response, and finding one does not prove that ChatGPT created the text. Similar Unicode characters can come from websites, editors, documents, messaging apps, and copy-paste operations.
Yes. The scanner detects zero-width spaces and several other supported invisible Unicode characters and reports their Unicode code points, counts, and positions.
No. Em dashes are normal visible punctuation. CountFlows lists them under Typography and does not select them for removal by default.
They can. Some invisible Unicode characters may affect exact matching, spacing, code comparisons, search, data imports, or text processing even though the text looks normal on screen.
There is no guarantee. AI detectors may analyze writing patterns and other signals unrelated to hidden Unicode. This tool is designed for character inspection and cleanup, not detector bypass.
The character scan and cleanup logic run in your browser and do not require an AI API or server-side text analysis.