Skip to tool
Text

Text Escapes & Unicode Inspector

Inspect code points, normalization, graphemes, and language escape sequences.

Input0 characters
Result0 characters
Ready

Prefer a native workflow?

Keep Text Escapes & Unicode Inspector one shortcut away.

DevSexy for Mac puts the same private workflow in a focused desktop app, with global shortcuts and no browser tab to manage.

Global shortcutOffline-readyLocal processing
Try the Mac app free

This browser tool remains free.

Unicode microscope · four countable layers

“Character” is usually four different measurements.

What a person sees, what JavaScript counts, what Unicode assigns, and what UTF-8 stores can all disagree. The inspector keeps each layer visible before normalization, escaping, or sorting changes the evidence.

LENS 011

Graphemes

user-perceived cluster

LENS 027

Code points

Unicode scalars

LENS 0311

UTF-16 units

JavaScript length

LENS 0425

UTF-8 bytes

encoded storage

Cluster anatomy microscope

👨🏽‍💻
U+1F468MANsurrogate pair
U+1F3FDSKIN TONEmodifier
U+200DZWJjoin signal
U+1F4BBLAPTOPsurrogate pair

Code-point ledger

AU+0041004141\u0041
éU+00E900E9C3 A9\u00e9
𝄞U+1D11ED834 DD1EF0 9D 84 9EES scalar escape · 1d11e
ZWJU+200D200DE2 80 8D\u200d

Normalization prism

Same appearance can carry different bytes.

NFC

é

U+00E9

2 bytes

NFD

e + ◌́

U+0065 U+0301

3 bytes

NFKC

compatibility fold

may erase width/ligature distinctions

NFKD

decompose + fold

most transformative

Invisible-character radar

BOMU+FEFF

file/text boundary

ZWJ / ZWNJU+200D / U+200C

shaping and emoji

Bidi controlsU+202A…U+2069

visual order

NBSP familyU+00A0 / U+202F

non-breaking layout

Variation selectorU+FE0F

presentation choice

Escape customs

JavaScriptU+1F680 brace escape

scalar syntax

JSON\uD83D\uDE80

UTF-16 surrogate pair

HTML🚀

numeric character reference

SwiftU+1F680 brace escape

Unicode scalar syntax

Sorting boundary

Code-point order is not human collation.

Locale, sensitivity, numeric behavior, normalization form, and runtime Unicode data all influence ordering. A sorted receipt must name its policy; a database key needs an explicit versioned contract.

Run a reproducible example

Make a canonically decomposed accent and invisible characters observable before editing text.

Using an example replaces the current input, reference input, operation, and options. Public demonstration data only.

Compose an accent with NFC

The input contains e followed by U+0301, not a single precomposed é.

Input

Café

NFC changes the scalar sequence into Café. The report preserves a before/after receipt.

Normalization prism · NFC
Changed: yes
After:  "Café"

Expose NBSP and zero-width space

The sample contains U+00A0 and U+200B. The displayed bracket notation explains the real input characters.

Input

user[U+00A0]name[U+200B]

The markers make invisible characters visible; they are a diagnostic representation, not a cleaned replacement.

user⍽name⟦ZWSP⟧

Continue with a related task

Text Diff

Compare two texts by line, word, or character in a local worker.

RegExp Tester

Test JavaScript regular expressions with groups, indices, and replacement output.

Base64 Text

Encode and decode UTF-8 text with standard and URL-safe Base64 variants.

Repeat the task in DevSexy for Mac

Use the native app for repeated offline work and direct Option shortcuts.

Direct answer

What is Text Escapes & Unicode Inspector?

Inspect Unicode text online by grapheme cluster, code point, UTF-16 unit, and UTF-8 byte, including invisible controls, normalization forms, and escape sequences.

What can it do?

  • Analyze
  • HTML escape
  • HTML unescape
  • Backslash escape
  • Backslash unescape
  • Case
  • Lines
  • Normalize
  • Whitespace

How to use Text Escapes & Unicode Inspector

  1. 01

    Prepare the input

    Paste the exact text, preserving invisible characters and line endings.

  2. 02

    Choose the operation

    Analyze first, then select an intentional normalization or whitespace operation.

  3. 03

    Review the evidence

    Review changed code points and downstream comparison rules before replacing identifiers or signed text.

Frequently asked questions

Why do equal-looking strings compare differently?
They may use different scalar sequences, such as a precomposed accent versus a combining mark, or contain invisible characters. Inspect code points before normalizing.
Is NFKC as conservative as NFC?
No. Compatibility normalization can fold width, ligature, and presentation distinctions. Choose it only when those changes match the consumer’s text contract.
Does JavaScript length count visible characters?
It counts UTF-16 code units. Grapheme clusters, Unicode scalars, and UTF-8 bytes are different counts and can disagree for emoji, combining marks, and non-BMP text.