DuckyTools
Home Developer Unicode Character Inspector

Unicode Character Inspector Developer

Break text into code points and see what each character really is, byte for byte.

Unicode Character Inspector is a free online tool that break text into code points and see what each character really is, byte for byte. It runs entirely in your web browser using Intl, so files are processed on your own device and never uploaded to a server. There is no sign-up, no file size limit imposed by the site, no watermark and no paid tier.

Price
Free — no account, no quota, no watermark
Category
Developer
Where it runs
In your browser, on your device
Files uploaded
None
Technology
Intl
Settings
1
Works offline
Yes, after the first visit

About Unicode Character Inspector

Three different numbers can all be called “the length” of a string, and they disagree. “👨‍👩‍👧” is one character to a person, five code points, eleven UTF-16 units and twenty-five UTF-8 bytes — which is why a 280-character limit, a database column width and a `.length` check can all be measuring different things about the same text. This shows all four at once, then breaks the text down code point by code point with the exact UTF-8 bytes for each.

How to use it

  1. Paste or type your text. Every figure recalculates on each keystroke.
  2. Use the sample button to see what the numbers look like on real prose.

The one setting

SettingWhat it doesDefault
Characters to listRange 5–400.60

Under the hood

Runs onIntl — handles locale-aware formatting
ControlsCharacters to list

Questions

Why does JavaScript report a different length than I expect?

Because `String.length` counts UTF-16 code units, not characters. Anything outside the Basic Multilingual Plane — most emoji, historic scripts, mathematical alphanumerics — takes two units each, so a string of five emoji reports a length of ten.

What is a grapheme cluster?

What a person would call a character: a base letter plus any combining marks, or a full emoji sequence including its joiners. It is the “visible characters” figure here, and it is the only one of the three that matches what someone counting on screen would get.

Why do some characters show as “(control)”?

They have no visible form. Tabs, line feeds and the zero-width characters occupy a position in the string without occupying space on screen — which is exactly what makes them hard to debug. The Invisible Character Detector is aimed specifically at those.