Inspect text one code point at a time

Unicode Character Checker

See the Unicode code point, official name, category, block, and UTF-8 size behind every character in your text—including marks that are easy to miss.

Private in-browser inspection Unicode 18.0.0 character data Invisible marks shown safely
Check Unicode text

Browser-based Unicode inspection

Check Unicode characters in your text

Inspect the characters exactly as pasted. Your text stays in this browser tab and is never sent to this site.

Unicode 18.0.0

Up to 2,000 code points per inspection. The displayed source is not edited.

0 / 2,000 code points

Read the exact text, not a guess

What this Unicode character checker shows

A rendered glyph can hide the details that matter to a validator, a programmer, a translator, or an editor. The inspector turns each distinct code point into a small, verifiable record.

Code point and name

See a stable hexadecimal identifier such as U+200B, its decimal value, and the Unicode name. When Unicode defines a control alias, the alias is shown separately so the source of the label stays clear.

Category and block

General category identifies broad behavior such as uppercase letter, nonspacing mark, format control, or space separator. The block places the code point in a named range in the Unicode chart.

Encoding and frequency

Compare UTF-8 bytes with UTF-16 code units, count repeated code points, and see their text positions. These measurements are useful when debugging storage limits, parsers, and copied strings.

Unicode names and categories describe encoded text. They do not tell you whether a character is harmful, whether a document is trustworthy, or how every font or application will render it.

A precise way to inspect text

How to use the Unicode code point checker

Run an inspection before changing a string. This makes it easier to find a value that breaks a search, comparison, import, or display step while keeping the source available for review.

  1. 1

    Paste the exact text

    Copy the string from the app, file, or field where the issue occurs. The checker preserves spaces and line breaks for inspection and accepts up to 2,000 code points at a time.

  2. 2

    Inspect characters

    Select the button to see a row for each unique code point. A row includes its code point position, count, UTF-8 bytes, Unicode category, block, and name or alias where available.

  3. 3

    Review before editing

    Use the readable labels to spot a non-breaking space, zero-width mark, combining mark, or directional control. Copy the report when you need to share technical findings; the checker never rewrites your input.

Three measures with different jobs

Code points, UTF-16 units, and visible characters

“Character count” can refer to several different things. Knowing which measure a tool reports prevents off-by-one errors and avoids confusing storage units with what a reader sees.

MeasureWhat it countsExample
Code pointA Unicode value in the text sequence. This checker uses code point positions and groups repeated values together.Most emoji are one or more code points.
UTF-16 code unitA 16-bit unit used by JavaScript strings. A supplementary code point uses a surrogate pair and therefore two units.Many emoji use 2 UTF-16 units.
Grapheme clusterA sequence that a user may perceive as one written symbol. It can contain a base character and combining or joining code points.A family emoji may be several code points joined as one displayed grapheme.

For example, the visible thumbs-up emoji with a skin-tone modifier contains two code points. A flag is often encoded as two regional indicator code points. A letter plus a combining accent can look like one letter while remaining a sequence of two code points. This checker shows those underlying values separately; it does not claim to count what a person perceives as one symbol.

UTF-8 length answers a different question: how many bytes a browser's UTF-8 encoder produces for the submitted string. That value can differ from the number of JavaScript UTF-16 units. If a JavaScript string contains an isolated surrogate, UTF-8 encoding replaces it with the replacement character; treat that byte count as the browser encoder's output rather than a valid Unicode scalar encoding.

Invisible does not mean absent

Why hidden Unicode characters appear as labels

Some code points change text without drawing a standalone mark. A zero-width joiner can affect how adjacent emoji or scripts combine. Directional controls can influence ordering. A non-breaking space can look like an ordinary space while changing where a line wraps.

Rendering those values directly in a result cell can reproduce the confusion—or allow directional formatting to rearrange nearby labels. For that reason, the checker displays a bracketed description for control, format, separator, combining, and other non-visible characters. The exact U+ value and official name remain available beside the label.

A visible preview is only a convenience. The category, code point, and name are the dependable identifiers. Font coverage, platform shaping, and surrounding text can make visible characters appear different across browsers.

Reference data and limits

Unicode 18.0.0 data, privacy, and scope

The checker uses a versioned Unicode Character Database snapshot and keeps the submitted text local to the page.

Names, aliases, general categories, and block ranges are derived from Unicode Character Database 18.0.0. Character records are loaded from this site's static data file only when you start an inspection. The input text itself is processed by JavaScript in your browser and is not included in the data request. The checker does not send the text to an API or save it in an account.

Unicode evolves as new characters are encoded. This page identifies the dataset version so that results can be reproduced and reviewed against the same release. Some code points do not have an assigned character name, including reserved values and private-use characters. In those cases, the result says that no name is assigned instead of inventing one. Where Unicode defines an alias for a control, it is called out as an alias.

The checker is designed to inspect ordinary text strings, not to validate every property in the Unicode Standard. It does not identify a character's visual meaning in every script, determine whether a string is safe, detect all homoglyphs, parse language-specific grapheme boundaries, or infer how a particular app stores text. Use the code point and versioned reference information as evidence, then verify application-specific behavior where it matters.

For a focused scan and optional cleanup of common invisible marks, use the hidden character detector. To identify one pasted symbol by its name and code point, open What Is This Symbol?. To check only ZERO WIDTH SPACE (U+200B), open the zero width space detector. For background on why a character may be present, see what a hidden character is and how to remove invisible characters from text.

Reference: Unicode Character Database 18.0.0, the Unicode Character Database specification (UAX #44), and the Unicode 18.0.0 release summary. Unicode data is redistributed under the Unicode License v3.

Common Unicode inspection questions

Unicode Character Checker FAQ

How do I check Unicode characters in text?

Paste up to 2,000 code points into the checker and select Inspect characters. The result lists each distinct code point with its Unicode name, category, block, UTF-8 byte length, frequency, and positions.

How do I find the Unicode name of a character?

Paste the character or a longer text sample and inspect it. The results show the Unicode name or a defined alias for each distinct code point. A visible emoji sequence can contain several code points, so the checker lists its parts separately.

What are Unicode characters and code points?

Unicode assigns code points to characters and other encoded values so text can be represented consistently across systems. A code point is the numbered value, such as U+0041 for LATIN CAPITAL LETTER A; one visible grapheme can contain several code points.

Does this Unicode character checker identify invisible characters?

Yes. It shows spaces, format controls, combining marks, line separators, and other non-visible characters as readable labels instead of rendering hidden direction-changing or zero-width characters directly.

What is the difference between a Unicode detector and a hidden character detector?

This Unicode detector reports the code points in the text you provide, including visible letters and symbols. The site's hidden character detector focuses on a selected set of common invisible marks and can create a separate cleaned copy.

Can a Unicode checker find special or illegal characters in text?

It shows the Unicode value and properties of every code point, including punctuation, marks, and less common symbols. Whether a value is invalid depends on the rules of your programming language, file format, database, or application.

Does the Unicode checker upload or change my text?

No. The input is processed in your browser and is not sent to this website. Inspection creates a report only; it does not replace, normalize, or clean the text you entered.

Why can an emoji use more than one code point?

A visible emoji may be one code point or a sequence containing a base emoji, variation selector, skin-tone modifier, regional indicators, or zero-width joiner. This checker reports the underlying code points, not the number of visible emoji graphemes.

What does a Unicode code such as U+200B mean?

U+200B is the hexadecimal notation for code point 8203, named ZERO WIDTH SPACE. The U+ prefix and hexadecimal value identify a character independently of how a font renders it.

Which Unicode version supplies the names and blocks?

Character data comes from Unicode Character Database 18.0.0. The page shows that version beside the checker so a result can be understood in the context of the data used.

How many Unicode characters are there?

The Unicode 18.0.0 release summary currently lists 13,007 added characters and 172,808 characters in its repertoire; that summary is marked preliminary and may change. Unicode defines 1,114,112 possible code points, but many are unassigned. The count depends on the version, so check the release summary for updates.