An invisible character detector finds Unicode code points that hide inside text with no visible glyph — things like zero-width spaces (U+200B), byte order marks (U+FEFF), soft hyphens (U+00AD), and directional marks. These hidden characters sneak in when you copy text from PDFs, websites, or word processors and can silently break search, code comparisons, and database queries.
Detected Characters
| Character | Code Point | Name | Count |
|---|
Highlighted Preview
Colored badges mark invisible charactersLegend
How to Use the Invisible Character Detector
Invisible characters are a common source of subtle bugs and unexpected behaviour in code, databases, and content. When you copy text from a PDF, a webpage, or a rich-text editor, hidden Unicode code points like zero-width spaces (U+200B) or byte order marks (U+FEFF) can be silently pasted along with the visible text. This invisible character detector makes them immediately visible so you can understand and fix the problem.
Step 1: Paste Your Text
Click inside the text area and paste the content you want to inspect. You can paste anything — a code snippet, a blog post, a database value, a password field value, or any other string. The tool handles text of any length. You can also type directly into the box if you want to test specific characters.
Step 2: Click Scan Text
Press the Scan Text button to analyse your input. The tool will count every invisible character, group them by type, and display a summary showing total hidden characters found, the number of unique character types, and a comparison of original vs. cleaned character counts. If no invisible characters are found, a green banner confirms your text is clean.
Step 3: Review the Breakdown Table
The breakdown table lists each type of invisible character found, its Unicode code point, its official Unicode name, and how many times it appears. Common culprits include the zero-width space (U+200B), which gets inserted by some websites as an anti-scraping measure, and the byte order mark (U+FEFF), which some Windows text editors add to the beginning of files.
Step 4: Inspect the Highlighted Preview
The highlighted preview renders your text with coloured badges at every position where an invisible character was found. Each character type gets a distinct colour so you can see at a glance whether they cluster at the start of the text (often a BOM), appear between specific words, or are scattered throughout. Hover over a badge to see its full name in the tooltip.
Step 5: Clean and Copy
Click Clean Text to remove all detected invisible characters from the textarea, leaving only visible content and normal whitespace (spaces, tabs, and line breaks are preserved). Then click Copy Clean Text to copy the result to your clipboard ready to paste wherever you need it — a code editor, a CMS, a database tool, or an email.
Common Scenarios
Developers use this tool when a string comparison mysteriously fails, when a regex that should match doesn't, or when a copied variable name causes a "symbol not found" error. Content writers use it to clean text copied from PDFs before publishing. SEO professionals use it to ensure meta tags and structured data contain no hidden characters that could confuse crawlers. Database administrators use it before inserting user-supplied text to prevent collation and indexing issues.
Frequently Asked Questions
What are invisible characters in text?
Invisible characters are Unicode code points that have no visible glyph but still take up space in a string. Common examples include the zero-width space (U+200B), the byte order mark (U+FEFF), the soft hyphen (U+00AD), and directional marks like the left-to-right mark (U+200E). They are often inserted unintentionally when copying text from websites, PDFs, or word processors.
Why should I remove zero-width characters from my text?
Invisible characters can cause hard-to-diagnose bugs in code, break search functionality, corrupt database queries, and cause text comparisons to fail unexpectedly. In content writing, they can confuse SEO tools and cause duplicate-content issues. In programming, a hidden zero-width space inside a variable name or string literal can cause silent failures that are extremely difficult to trace.
Is this tool free and private?
Yes, completely free and 100% private. All detection and cleaning runs locally in your browser using JavaScript. Your text is never sent to any server and is never stored or logged anywhere. Once you close the tab, everything is gone.
What invisible characters does this tool detect?
The tool detects zero-width space (U+200B), zero-width non-joiner (U+200C), zero-width joiner (U+200D), word joiner (U+2060), byte order mark / zero-width no-break space (U+FEFF), soft hyphen (U+00AD), non-breaking space (U+00A0), left-to-right mark (U+200E), right-to-left mark (U+200F), and additional Unicode control characters in the ranges U+0000–U+0008, U+000B–U+000C, U+000E–U+001F, and U+007F–U+009F.
How do I spot a zero-width space in my text?
Zero-width spaces are completely invisible — they look like empty space or nothing at all. You might suspect them when text behaves oddly: search fails to find a visible word, copy-pasting produces unexpected results, or word count differs from what you see. Pasting your text into this tool will reveal and highlight every invisible character instantly.
Can I use this to clean text before putting it in a database?
Yes. Click the 'Copy Clean Text' button after scanning, then paste the cleaned text wherever you need it. The tool strips all detected invisible characters while preserving normal whitespace like spaces, tabs, and newlines. It is safe to use on code snippets, database values, API payloads, and any other text content.
Does cleaning text remove all whitespace?
No. The 'Clean' function only removes invisible characters that have no legitimate visible purpose — things like zero-width spaces and directional marks. It preserves all normal whitespace: regular spaces (U+0020), tabs (U+0009), and newlines (U+000A, U+000D). Non-breaking spaces (U+00A0) are flagged but you can choose whether to remove them.