Agentic WorkersPowered by Agentic Workers
Audit mode

AI Words Detector

Paste text into the Hidden Character Detector audit console to surface invisible Unicode, em-dashes, and configured AI-ish phrase patterns without sending your text off-device.

local_text_audit / hidden_character_detector
0 chars0 hidden0 phrases

Scans zero-width characters, em-dashes, and the configured phrase list in your browser.

READY0%
Configure phrase list
Score
0
Flags
0
Dashes
0

Findings

Concrete matches from the existing detector rules.

Run a scan to reveal severity, category, and explanation rows.

How to Use the Tool

  1. Paste in your text - Copy and paste any text you want to analyze into the input field above.
  2. See all hidden Unicode characters - Click "Analyze" to visualize all hidden Unicode characters in your text and get information about what they do.
  3. Decide what you want to clean up - Review the analysis results to see which characters were found.
  4. Fix all - Use "Scrub & Analyze" to:
    • Remove all invisible characters
    • Strategically fix specific ones (like remove all Em-Dash and En-Dash)
  5. Copy your cleaned text - The scrubbed text is automatically copied to your clipboard, ready to use.

Key Takeaways

One Click Cleanup

Our free Invisible Text Detector and Remover makes it easy to identify and remove any unicode hidden text characters.

Privacy Assured

All processing happens locally in your browser; your text never leaves your device.

Not a Secret Watermark

LLMs like ChatGPT do inject hidden characters, but it is not for watermarking or nefarious reasons.

Overuse of Certain Characters

ChatGPT does use several Unicode "hidden" characters a lot (such as the Em Dash).

Real Risks Exist

Invisible text characters can cause both security and formatting challenges.

All LLMs Do It

All popular LLMs inject hidden characters, not just ChatGPT.

What are Unicode Hidden Text Characters?

Hidden Unicode characters, whether subtly visible (em-dashes, smart quotes, no-break spaces) or completely invisible (zero-width spaces, joiners, direction marks) are special code points that don't behave like plain ASCII. They act as a "digital ink" that reshapes how software wraps lines, splits words, parses data, or matches text, even when you don't realize they're there.

Does ChatGPT Watermark Text with Hidden Characters?

No

It has been incorrectly reported that the injection of hidden characters by ChatGPT is their attempt at "watermarking" their outputs. However, there are 2 reasons that this is very unlikely:

  1. It is incredibly easy to circumvent a watermarking strategy by just removing the characters. The ease at which users can do this would render a watermarking strategy pointless.
  2. OpenAI has stated it is just "a quirk of large-scale reinforcement learning."

Does ChatGPT Inject Hidden Characters?

Yes

LLMs like ChatGPT do inject hidden characters. Many of these characters are harmless formatting characters (like the popular em-dash), while some can cause formatting issues (zero-width space).

Some of the most common Unicode characters that ChatGPT uses include:

Em Dash

The long dash character ChatGPT frequently inserts—especially in recent model versions (GPT-5 series, GPT-4o)—to break up sentences or add dramatic pauses.

Unicode: U+2014

Description: A long horizontal dash wider than a hyphen. Useful in typography for parenthetical breaks, but in code, CSV, or plain-text data it can act like a non-standard character, causing copy/paste or parsing issues.

Example: word—word ← visually similar to word-word, yet represents a distinct Unicode code point.

Smart Quotes

The curly "typographer's" quotation marks that ChatGPT sometimes substitutes for straight quotes.

Unicode:

  • Left double quote (U+201C)
  • Right double quote (U+201D)
  • Left single quote (U+2018)
  • Right single quote (U+2019)

Description: Curved punctuation intended for print typography. They often appear where a plain straight quote (", ') would be safer—breaking code snippets, CSV files, or Markdown.

Example: "hello" or 'world'

Zero-Width Space

A completely invisible spacing character that may slip into text when copying from ChatGPT or other editors.

Unicode: U+200B

Description: Adds no visible gap but still separates characters. Can break string matching, URLs, and word counts; causes "why won't it paste correctly?" problems.

Example: word​word ← looks like one word, but a zero-width space sits between the two halves.

Why do LLMs Use These Hidden Characters?

There are 3 reasons that likely contribute to the increased usage of invisible characters by LLMs:

1. Training Data Bias

Since LLMs train heavily on professionally edited texts where em dashes and smart quotes are standard, it would have learned to use them more frequently than in everyday writing.

2. Mimics Formal Tone

LLMs have a bias to sounding formal/authoritative and these characters help it achieve that.

3. LLMs Don't Use a Keyboard

The reason we don't use these invisible characters more is because they are not on any standard keyboard (ASCII, ISO etc). LLMs don't "write" using a keyboard so it is no extra effort for them to use an invisible character compared to a human writing.

Table of All Common "Invisible" Unicode Text Characters

Below is a complete list of the most common invisible text characters and how our free tool handles them.

#UnicodeVisibilityDescriptionReplaced With
1U+0020VisibleRegular Spacekeep
2U+00A0VisibleNo-Break Space→ space
3U+0009VisibleTab→ 4 spaces
4U+000AVisibleLine Feed (LF)keep
5U+000CVisibleForm Feedremove
6U+001CVisibleFile Separatorremove
7U+000DVisibleCarriage Return (CR)remove
8U+2000VisibleEn Quad→ space
9U+2001VisibleEm Quad→ space
10U+2002VisibleEn Space→ space
11U+2003VisibleEm Space→ space
12U+2004VisibleThree-Per-Em Space→ space
13U+2005VisibleFour-Per-Em Space→ space
14U+2006VisibleSix-Per-Em Space→ space
15U+2007VisibleFigure Space→ space
16U+2008VisiblePunctuation Space→ space
17U+2009VisibleThin Space→ space
18U+200AVisibleHair Space→ space
19U+202FVisibleNarrow NBSP→ space
20U+205FVisibleMath Space→ space
21U+3000VisibleIdeographic Space→ space
22U+1680VisibleOgham Space Mark→ space
23U+200BInvisibleZero-Width Space→ space
24U+200CInvisibleZero-Width Non-Joinerremove
25U+200DInvisibleZero-Width Joinerremove
26U+200EInvisibleLeft-To-Right Markremove
27U+200FInvisibleRight-To-Left Markremove
28U+202AInvisibleLTR Embeddingremove
29U+202BInvisibleRTL Embeddingremove
30U+202CInvisiblePop Directional Fmtremove
31U+202DInvisibleLTR Overrideremove
32U+202EInvisibleRTL Overrideremove
33U+2060InvisibleWord Joinerremove
34U+2061InvisibleFunction Applicationremove
35U+2062InvisibleInvisible Times→ "x"
36U+2063InvisibleInvisible Separator→ ","
37U+2064InvisibleInvisible Plus→ "+"
38U+2066InvisibleLTR Isolateremove
39U+2067InvisibleRTL Isolateremove
40U+2068InvisibleFirst Strong Isolateremove
41U+2069InvisiblePop Directional Isolateremove
42U+206AInvisibleInhibit Symmetric Swapremove
43U+206BInvisibleActivate Symmetric Swapremove
44U+206CInvisibleInhibit Arabic Form Shapingremove
45U+206DInvisibleActivate Arabic Form Shapingremove
46U+206EInvisibleNational Digit Shapesremove
47U+206FInvisibleNominal Digit Shapesremove
48U+2028InvisibleLine Separator→ \n
49U+2029InvisibleParagraph Separator→ \n\n
50U+2014VisibleEm Dashkeep
51U+2013VisibleEn Dashkeep
52U+2019VisibleRight Single Quote→ '
53U+201CVisibleLeft Double Quote→ "
54U+201DVisibleRight Double Quote→ "
55U+2018VisibleLeft Single Quote→ '
56U+2026VisibleHorizontal Ellipsis→ ...
57U+00ADInvisibleSoft Hyphenremove
58U+034FInvisibleGrapheme Joinerremove
59U+2800VisibleBraille Blank→ space
60U+3164VisibleHangul Filler→ space
61U+115FVisibleHangul Choseong Fillerremove
62U+1160VisibleHangul Jungseong Fillerremove
63U+17B4VisibleKhmer Vowel Inherent AQremove
64U+17B5VisibleKhmer Vowel Inherent AAremove
65U+180BInvisibleMongolian VS-1remove
66U+180CInvisibleMongolian VS-2remove
67U+180DInvisibleMongolian VS-3remove
68U+180EVisibleMongolian Vowel Sep.→ space
69U+FE00InvisibleVariation Selector-1remove
70U+FE01InvisibleVariation Selector-2remove
71U+FE02InvisibleVariation Selector-3remove
72U+FE03InvisibleVariation Selector-4remove
73U+FE04InvisibleVariation Selector-5remove
74U+FE05InvisibleVariation Selector-6remove
75U+FE06InvisibleVariation Selector-7remove
76U+FE07InvisibleVariation Selector-8remove
77U+FE08InvisibleVariation Selector-9remove
78U+FE09InvisibleVariation Selector-10remove
79U+FE0AInvisibleVariation Selector-11remove
80U+FE0BInvisibleVariation Selector-12remove
81U+FE0CInvisibleVariation Selector-13remove
82U+FE0DInvisibleVariation Selector-14remove
83U+FE0EInvisibleVariation Selector-15remove
84U+FE0FInvisibleVariation Selector-16remove
85U+FEFFInvisibleZero-Width NBSP / BOMremove
86U+FFA0VisibleHalf-width Hangul Filler→ space
87U+FFFCVisibleObject Replacement→ "[OBJECT]"

Scroll horizontally on mobile devices to view the full table. Invisible characters are highlighted in red, visible formatting characters in yellow.

Common Uses and Concerns with Invisible Characters

Why do people use them?

Tidy text layout

A zero-width space (U+200B) or soft hyphen (U+00AD) lets writers nudge where a line breaks, so long words don't dangle awkwardly at the edge of a column.

"Spaces" in usernames

Some sites forbid real spaces. Sneaking in an invisible Hangul Filler (U+3164) keeps John Doe readable while still passing the "no-space" rule.

Subtle watermarks

Publishers can hide a unique pattern of zero-width marks inside an article. If the text leaks, those invisible dots act like digital fingerprints.

Why do people worry about them?

Formatting

Looks the same, acts differently - Two snippets that appear identical may hash or sort differently once hidden characters are factored in, breaking exports, searches, or audit trails.

Invisible hiding places for bad code

Attackers can bury malware or secret instructions among zero-width characters; the file compiles or runs, but a human code reviewer sees nothing unusual.

Example: promptfoo.dev/blog/invisible-unicode-threats

Silent prompt tricks on AI

Hidden Unicode can smuggle extra instructions into a chatbot prompt, making the model reveal data or generate harmful content without the user noticing.

Example: prompt.security/blog/unicode-exploits

Your Text Looks AI-generated

If text has a lot of unique formatting that is heavily used by AI (Em Dash etc) it is clear that it was AI-generated which can cause reputational harm.

Does Adding or Removing Invisible Characters Help Bypass AI Detectors?

Yes

Our short test below shows that the addition or removal of hidden characters did change the detectability of AI-generated content. We created 2 pieces of AI content and modified it by adding extra invisible characters, as well as stripping all Unicode characters using our free tool on this page.

The result was that the content was not detectable by most tools when invisible characters were added or removed.

Do All LLMs Inject Hidden Characters?

Yes

We looked at the same prompt in several popular LLMs to see if Hidden Characters are common across models.

Prompt: Write a LinkedIn post about the benefits of formatting LinkedIn posts.

No model produced an Invisible Character but all relied heavily on formatting with visible Unicode characters. This includes ChatGPT 4o, Claude, Gemini, and other popular LLMs.

Example ChatGPT 4o: ChatGPT frequently uses em dashes (—) and smart quotes (" ") in its output, which are visible Unicode characters that can cause formatting issues when copying to code or plain text environments.

What People Say About Agentic Workers

JM
James Miller
Marketing Manager

"After optimizing my prompts with Agentic Workers, our content creation process is 3x faster. The prompt library alone saved us countless hours of trial and error."

SK
Sarah Kim
Product Designer

"The quality of AI outputs I'm getting now is night and day compared to before. Agentic Workers taught me how to structure prompts to get exactly what I need every time."

TD
Thomas Davis
Developer

"I was skeptical about AI tools, but Agentic Workers changed my mind. Their prompt techniques have helped me build and document features in half the time."

Start Your AI Journey Today

Join thousands of professionals improving their AI workflows

Ready to Enhance Your Productivity with AI?

Join Agentic Workers to access a suite of AI tools, an extensive prompt library, and advanced features designed to elevate your workflow.

Discover More at Agentic Workers

Frequently Asked Questions

Common questions about hidden characters and this detector tool