Start a project

Tool 78 of 100 · Text

Unicode Inspector

Paste any text and see exactly what's in it: each code point with its encoding and escapes, plus hidden spaces, bidi tricks and letters from other alphabets.

Unicode Inspector at a glanceIllustration: 1, Any text; 2, processed in your browser; 3, Hidden characters.Unicode Inspector1Any text3Hidden characters2In yourbrowser
1 Any text 2 processed on your device 3 Hidden characters

Unicode Inspector

Text

    Clean and escape

    Cleaned text (invisible and bidi characters removed, spaces normalised, NFC)
    Escaped (non-ASCII as escapes)
    FormCompared with inputCode points

    Code points

    CharCodeNameCategoryScriptUTF-8Escape

    01

    What it does

    Breaks text into graphemes and code points with category, script, UTF-8 and escapes, and flags hidden, bidi and look-alike characters.

    • Graphemes, code points, UTF-16 units and UTF-8 bytes counted
    • Category, script, UTF-8 bytes and escapes per code point
    • Finds zero-width, bidi control and unusual space characters
    • Flags mixed-script words and Latin look-alikes

    02

    Private by design

    Everything happens in your browser. Nothing you type, paste or upload is sent anywhere, and it keeps working offline once the page has loaded.

    03

    What you get

    A code point table, cleaned text and escapes, with a Copy and a Download button on every result.

    • Unicode
    • UTF-8
    • Security
    • Text

    Why it matters

    Text can hide things. A zero-width space breaks a search or a password; a non-breaking space stops a CSV import matching; a Cyrillic 'а' makes 'pаypal.com' a different domain; and bidirectional control characters can make source code display in a different order from how it runs, the 'Trojan Source' attack.

    This inspector shows every code point with the browser's own Unicode data, counts the string the four ways that matter (graphemes, code points, JavaScript length and UTF-8 bytes) and flags anything hidden or deceptive, then gives you a cleaned copy.

    How it works

    1. InputText from anywhere
    2. In your browserEvery code point named and checked
    3. OutputHidden, look-alike and bidi characters, and a clean copy

    Where it fits in a designer's workflow

    1. Plan
    2. Design
    3. Build
    4. Test
    5. Launch
    Debugging odd strings and checking for spoofing.

    By the numbers

    The sample text, counted four waysCode points: 40; What you see (graphemes): 37; UTF-16 units (JavaScript .length): 43; UTF-8 bytes: 59; Invisible characters: 2; Bidi controls: 1; Look-alike letters: 1Code points40What you see (graphemes)37UTF-16 units (JavaScript .length)43UTF-8 bytes59Invisible characters2Bidi controls1Look-alike letters1
    Counted by this tool. One emoji with a skin tone and a ZWJ is 1 grapheme but 4 code points, which is why string lengths disagree between languages. The sample also hides a zero-width space, a right-to-left override and a Cyrillic а in paypal. Source: Unicode TR36: security.
    Show the numbers as a table
    MeasureCount
    Code points40
    What you see (graphemes)37
    UTF-16 units (JavaScript .length)43
    UTF-8 bytes59
    Invisible characters2
    Bidi controls1
    Look-alike letters1

    How to use it

    1. Paste the text, or try an example.
    2. Read the findings for hidden or look-alike characters.
    3. Check each code point in the table.
    4. Copy the cleaned or escaped text.

    FAQ

    Why are the lengths different?

    An emoji like 👩🏽‍💻 is one visible character but several code points and more UTF-16 units. Databases often count bytes, JavaScript counts UTF-16 units, and people count graphemes.

    What's Trojan Source?

    A 2021 attack (CVE-2021-42574) that hides bidirectional control characters in code so a reviewer sees different logic from what the compiler runs.

    Why not show character names for everything?

    Full names need a large data file. Names are given for the invisible, space and punctuation characters that matter here; the code point identifies the rest.

    What does NFC do?

    It combines letters and accents into single code points where possible, so 'é' typed two ways compares equal. Normalise user input before comparing or storing it.

    Work with me

    Want a site that gets these right?

    I build fast, accessible websites and web apps that pass these checks from day one. Tell me about your project and I'll reply personally with honest next steps.

    All developer tools · Back to leej.uk