Online Tool Store Online Tool Store

Unicode Character Inspector

Inspect a whole string character by character: code points, UTF-8/UTF-16 bytes, HTML entities, and flags for invisible or bidi-control characters.

🔒 This tool runs entirely in your browser. Your files are never uploaded to a server.

Every character is inspected below, up to 200 characters — invisible and bidi-control characters are flagged.

# Character Code point Decimal UTF-8 bytes UTF-16 units HTML entity

How it works

  1. Type or paste text into the input — every character is inspected, up to 200.
  2. The tool splits the text using code-point-aware iteration, so emoji and surrogate pairs are handled correctly rather than split apart.
  3. Each row shows the code point, decimal value, raw UTF-8 bytes, UTF-16 units, and the HTML numeric entity.
  4. Invisible characters and bidi-direction controls are flagged with a labeled badge instead of an empty or misleading cell.

The formula

UTF-8 encodes a code point as 1-4 bytes depending on its value; UTF-16 encodes it as one 16-bit unit if it fits under U+FFFF, or a surrogate pair of two units otherwise. Both are computed with the browser's native TextEncoder and String.charCodeAt.

FAQ

What is a Unicode code point?

It's the unique number assigned to every character in the Unicode standard, written as U+ followed by hexadecimal digits, like U+0041 for "A".

Why does one character sometimes need two UTF-16 units?

Characters outside the Basic Multilingual Plane (like many emoji) are encoded as a surrogate pair — two 16-bit units — in UTF-16.

What can I do with the HTML entity value?

Paste &#codepoint; directly into HTML source to render the character without needing the raw glyph in your file.

Does this send my text anywhere?

No — the inspection runs with JavaScript's built-in string and TextEncoder APIs, entirely in your browser.

What does the invisible/bidi-control flag mean?

Some Unicode characters render as nothing (zero-width spaces, joiners, a byte-order mark) or change the visual direction of surrounding text (bidi embedding and override controls, the class used in "Trojan Source" attacks to disguise code). Those are shown as a labeled badge instead of a blank or misleading cell.

How much text can I inspect at once?

Up to 200 characters are shown in the table; longer input is truncated with a note so the page stays responsive.

How we compare

Feature Online Tool Store leafo.net/characters fileformat.info
No file upload — runs in your browser
No sign-up
Inspects a whole string, not just one character Single character per lookup
Flags invisible and bidi-control characters Not flagged
UTF-8 + UTF-16 bytes shown together

Paste a whole string and every character is inspected and flagged in one table — no per-character lookups, and no hidden characters slip past unnoticed.

Explore related tools

Embed this tool

Paste this on your own site — it stays free, and every file still stays in your visitor's browser, not yours or ours.