Skip to content
Marvin's Toolbox.

Search tools

Type to filter all tools

Unicode Character Inspector

Paste text and see every character laid out: its codepoint, official Unicode name, block, category, UTF-8 and UTF-16 bytes and HTML entity. Emoji and other grapheme clusters are grouped, so you see what the eye sees and what the bytes say.

Everything runs locally in your browser. Your data never leaves your device.

Input

About the Unicode Character Inspector

This tool takes any text apart, character by character. It splits the input into grapheme clusters, the units your eye reads as one character, and expands each cluster into the codepoints it is really made of. An emoji family stays one visual chip, and a click shows the man, woman, girl and the zero-width joiners gluing them together.

Every codepoint reports its official Unicode name, block, general category, UTF-8 bytes, UTF-16 code units and decimal value, plus ready-to-paste escape forms for JavaScript, CSS and HTML. Each value has its own copy button.

What you can do

  • Find out what character is hiding behind a strange glyph.
  • Look up the official Unicode name and block of any character.
  • See the codepoints inside an emoji ZWJ sequence or flag.
  • Get the UTF-8 bytes and UTF-16 code units of a character.
  • Copy the JavaScript, CSS or HTML escape for a codepoint.
  • Count characters, codepoints and UTF-8 bytes of a text.
  • Spot unpaired surrogates in broken text.

How to use the Unicode Character Inspector

  1. 1Paste or type your text, or load the example line.
  2. 2Read the summary for character, codepoint, byte and block counts.
  3. 3Click a character chip. Invisible characters show a placeholder, multi-codepoint clusters carry a small count.
  4. 4In the inspector, pick a codepoint of the cluster and copy any value: name, block, category, encodings or escapes.

Characters, codepoints and bytes are different counts

What looks like one character on screen is often several codepoints. A family emoji can be seven, a flag is two regional indicators, and an accented letter may be a base letter plus a combining mark. Each codepoint in turn becomes one to four UTF-8 bytes, and astral codepoints such as emoji take two UTF-16 code units, which is why "👨".length is 2 in JavaScript. The summary shows all four counts side by side so you can see exactly where a length check and what you see on screen disagree.

For plain word and sentence counts use the Word & Character Counter. If you suspect the text carries hidden characters that should not be there, the Invisible Character Revealer finds and removes them.

Honest about broken input

Text copied out of logs or binary files sometimes contains unpaired surrogates, UTF-16 halves that are not valid characters on their own. The inspector shows them in their own color with their surrogate label and points out that encoders replace each one with U+FFFD. Very long inputs are handled too: the summary always covers the whole text, and the character grid shows the first 500 characters so the page stays responsive.

Decode Base64 to text or encode text to Base64. Paste into the top box, read the result below, and flip the direction with one click. Handles Unicode correctly, reads URL-safe Base64, and shows binary payloads as a hex dump you can download.

Format code in JavaScript, TypeScript, JSON, JSON5, HTML, Vue, CSS, SCSS, LESS, Markdown, YAML, GraphQL, XML and SQL. Pick tabs or spaces, set the indent width, and format the input in place with one click.

Remove duplicate lines from a list or text, keeping the first occurrence. Optionally ignore case and whitespace, or drop blank lines too.

Replace text in two modes: plain find and replace all, or regular expressions with flag controls and capture group references like $1.

Escape text into HTML entities or decode entities back to plain text. Choose named or numeric entities, escape only the unsafe characters or everything outside ASCII, and read the result live.

Reveal the characters you can't see in a text: zero-width spaces, non-breaking spaces, bidi marks, control characters and CRLF versus LF line endings. Inspect every occurrence and clean them out with a click.