Unicode Character Inspector & Invisible Character Finder

Paste anything to see what it’s really made of: each character’s name, code point, UTF-8 bytes and HTML code. Hidden zero-width spaces, no-break spaces, BOMs and lookalike letters are highlighted — and removed with one click.

Runs in your browser
#CharNameCode pointUTF-8HTMLCSS / JS

Your data never leaves your computer. All processing happens 100% locally in your browser.

How to use the Unicode Character Inspector

  1. Paste the text that behaves strangely — a slug that won’t match, code that won’t compile, a CMS field with a mysterious gap.
  2. Look at the summary: invisible characters, unusual spaces and lookalike letters are counted and highlighted in red or amber.
  3. Click any character in the strip to jump to its row with name, code point, UTF-8 bytes, HTML entity and CSS/JS escapes.
  4. Click Remove invisible characters, Normalize spaces & quotes or Convert to plain ASCII, then copy the clean text.

Why invisible characters cause bugs

Text copied from Word, Google Docs, PDFs, Slack or AI chat tools often carries characters you can’t see: zero-width spaces (U+200B), no-break spaces (U+00A0), soft hyphens, byte-order marks (U+FEFF) or directional marks. They make a CMS slug different from the one you typed, break JSON and CSS, stop a search from matching and make two “identical” strings unequal.

CharacterCodeTypical source
Zero-width spaceU+200BWeb pages, chat apps, AI output
No-break spaceU+00A0Word, Google Docs,   in HTML
Byte order markU+FEFFFiles saved as “UTF-8 with BOM” on Windows
Soft hyphenU+00ADHyphenation tools, the Soft Hyphen Generator
Left-to-right / right-to-left markU+200E / U+200FMixed-language text, phone numbers

Lookalike letters (homoglyphs)

Cyrillic “а” and Greek “ο” look exactly like Latin “a” and “o” but are different characters. They appear in copied text and in phishing domains. The inspector flags letters from another script when they’re mixed into Latin words.

Code points, UTF-8 and escapes

Every character has a code point (like U+1F680). On the web it’s stored as 1–4 UTF-8 bytes — which is why “é” counts as 2 bytes and 🚀 as 4 in byte limits. Use the HTML entity in markup, \1F680 in CSS content and \u{1F680} in JavaScript. For whole strings use the HTML Entity Encoder or URL Encoder; for emoji and symbols browse the Emoji Picker and Text Symbols.

Tools that pair well with the Unicode Character Inspector

  • Smart Quotes to Straight Quotes — Code copied from Slack, Notion, Word or a blog won’t run?
  • ASCII Art Generator — Type a word and see it in 20 ASCII art fonts at once — Standard, Slant, ANSI Shadow, Doom and more.
  • Text Symbols & Special Characters — Check marks, arrows, stars, bullets, math and currency signs, superscripts, box drawing, invisible spaces and ¯\_(ツ)_/¯ text faces — click to copy, with the HTML entity, CSS and Unicode for each.
  • Emoji Copy & Paste — Find any emoji by what it means — “rocket”, “party”, “ok” — click to copy, collect several in a row, and get the HTML, CSS and JavaScript codes or a one-line emoji favicon.

Frequently asked questions

How do I find invisible characters in text?
Paste the text: invisible characters are shown as red labels like ZWSP or BOM in the character strip and counted in the summary. Click “Remove invisible characters” to delete them.
Why is my Webflow slug or class name not matching?
It often contains a zero-width space, a no-break space or a lookalike letter copied from another app. Paste it here to see every character, then clean it.
What does “Convert to plain ASCII” do?
It replaces typographic quotes, dashes, ellipses and special spaces with their ASCII equivalents, removes accents (é → e) and drops anything else outside basic ASCII — useful for code, file names and slugs.
Is my text sent anywhere?
No. Everything runs in your browser; only the character-name list is downloaded once from devpack.

Related tools