GPTCLEANUP AI

GPTCLEANUP AI Blog

RSS feed

Practical guides for tidying up AI text, removing messy spacing, and keeping formatting clean across tools.

Detection Guide

How to See ChatGPT Watermarks

ChatGPT watermarks — the invisible Unicode characters and statistical patterns left in AI-generated text — are completely invisible in normal reading. You cannot see them in Word, Google Docs, or your browser. But with the right tools and methods, you can reveal exactly what is hidden in any text. This guide covers every approach, from the fastest automated methods to hands-on manual techniques.

Automated detection

One-click scanning with specialized tools

Manual methods

Text editor tricks and developer tools

What to look for

Specific characters and patterns to identify

Why You Cannot See ChatGPT Watermarks With Your Eyes

The term "invisible watermarks" is literal, not metaphorical. The characters involved — zero-width spaces, byte-order marks, zero-width joiners, soft hyphens, and similar Unicode control characters — have zero visual width. They render as nothing. No glyph is drawn. No space is created. No mark appears.

This means that even if you carefully read through every character of a ChatGPT-generated text, you would not find these characters. They are present in the string of bytes that makes up the text, but they produce no visible output when rendered by a browser, word processor, or any standard display environment.

To see them, you need to either use a tool that specifically scans for and highlights these Unicode code points, or examine the raw byte representation of the text directly. Both methods are described in this guide.

Method 1: Online Detection Tools (Fastest)

The fastest and most accessible method for most users is to use a dedicated online detection tool. These tools accept pasted text, scan the raw Unicode string, and visually highlight or list any invisible characters they find.

ChatGPT Watermark Detector

Specifically designed to find the patterns associated with ChatGPT output: invisible characters, Unicode artifacts, and statistical indicators. Paste your text, click detect, and see a clear report of what is present. Best for a quick overall assessment.

Time: 10–30 seconds per document

Invisible Character Detector

Provides a more detailed Unicode-level report. Shows every invisible character found: its exact Unicode code point (e.g., U+200B), its position in the text, and its character category. Best for technical verification and when you need to know exactly what characters are present.

Time: 10–30 seconds per document

Both tools process your text entirely in the browser. Your content is never sent to any server, making them safe for sensitive or confidential documents.

Method 2: Text Editors With Unicode Support

Modern code editors can be configured to show invisible characters, which makes them useful for manual detection. This method requires some technical familiarity but gives you direct visual insight into the text.

VS Code method

  1. Open VS Code and paste your text into a new file.
  2. Open the Command Palette (Ctrl+Shift+P / Cmd+Shift+P).
  3. Type "Toggle Render Whitespace" and enable it.
  4. To search for specific invisible characters, use Ctrl+F with regex mode enabled and search for patterns like \u200b (zero-width space) or \u200c (zero-width non-joiner).
  5. VS Code will highlight matches in the document, showing you exactly where invisible characters appear.

Notepad++ method

  1. Paste your text into Notepad++.
  2. Go to View → Show Symbol → Show All Characters. This reveals all whitespace and some special characters.
  3. Use Find (Ctrl+F) with "Regular expression" mode and search for \x{200B} to find zero-width spaces specifically.

Method 3: Browser Developer Tools

If you have text on a web page (including ChatGPT's own interface) and want to examine it for invisible characters, browser developer tools provide direct access to the underlying Unicode.

Chrome / Edge developer tools method

  1. Right-click on the text element you want to inspect and choose "Inspect."
  2. In the Elements panel, find the text node containing the content you want to examine.
  3. In the Console panel, use JavaScript to examine the string:
  4. Type: document.querySelector('your-selector').textContent.split('').map(c => c.charCodeAt(0).toString(16)).join(' ')
  5. This outputs the hexadecimal code of every character. Look for 200b (zero-width space), 200c (ZWNJ), feff (BOM).

This method is powerful but requires developer familiarity. For most users, the online detection tools in Method 1 are more practical.

Method 4: Python Script for Bulk Analysis

For users processing large amounts of text programmatically, a simple Python script can scan for invisible characters across multiple files or large documents.

Simple Python detector

invisible_chars = {
    '\u200b': 'Zero-Width Space',
    '\u200c': 'Zero-Width Non-Joiner',
    '\u200d': 'Zero-Width Joiner',
    '\u00ad': 'Soft Hyphen',
    '\ufeff': 'Byte-Order Mark',
}

def scan_text(text):
    found = []
    for i, char in enumerate(text):
        if char in invisible_chars:
            found.append((i, char, invisible_chars[char]))
    return found

Run this against any text file to get a list of invisible character positions and types. Scale it to scan multiple files in a directory for bulk content auditing.

What the Characters Look Like When You Find Them

When you use a detection tool, here is what you will typically see reported:

In online detection tools

The tool will typically highlight the position in the text where each invisible character was found, show its Unicode code point (e.g., "U+200B at position 142"), and give its name. The surrounding visible text will appear normally — the invisible character is just marked at its location.

In code editors

Search results will show highlighted positions in the text, usually as a small selection marker at what appears to be an empty position between characters. This is the invisible character made visible by the highlighting. The surrounding text looks unaffected.

What to Do After You Find Them

Once you have identified invisible characters, the next step is removal. The GPT Cleanup Tools suite handles this in one step: paste the text, click clean, and the tool removes all detected invisible characters while preserving everything visible.

After removal, it is worth running the detection scan again to confirm all characters were removed. Some tools may miss less common character types on the first pass, and verifying with a second scan is good practice for important documents.

Seeing is the first step; removing is the second.

Use the ChatGPT Watermark Detector to see what is in your text, and the GPT Cleanup Tools main cleaner to remove everything found. The Invisible Character Detector gives you the full technical breakdown if you need character-level detail.