Text to Unicode Code Points

Convert Unicode text into code-point notation such as U+0041, U+00E9, and U+1F600.

The tool iterates by Unicode code point, so supplementary characters such as emoji are returned as one scalar value rather than two UTF-16 surrogate halves.

Your text is processed in this browser and is not submitted to UnicodeNow.

Processed locally in your browser

This tool converts Unicode text → Unicode scalar values → selected notation. Output represents Unicode code points, not UTF-8 bytes or UTF-16 code units. For converting U+ notation back to text, use Unicode Code Points to Text.

Output settings

Choose how each Unicode scalar value is formatted in the output.

Plain hexadecimal without separators can be ambiguous and will show a warning.

Only hexadecimal digits change case; notation prefixes keep their conventional spelling.

Advanced options

Normalization changes the Unicode sequence before conversion and therefore changes the code points shown in the output.

Input is preserved exactly unless you explicitly select normalization.

Output represents Unicode code points, not UTF-8 bytes or UTF-16 code units.

Open Unicode Code Points to Text

Code point diagnostics

Run the tool to inspect individual code points.

Unicode code-point conversion diagnostics
IndexDisplayCode pointDecimalUTF-8 bytesLabel

What this Text to Unicode Code Points tool does

This converter turns Unicode text into Unicode scalar values and then formats those values in the notation you choose. The default output is U+ notation, such as U+0041 U+00E9 U+1F600. Processing is local in the browser, and the output remains plain selectable text for copying into tests, documentation, source code or debugging notes.

The conversion is intentionally one-way on this page. To convert code-point notation back to text, open Unicode Code Points to Text.

What is a Unicode code point?

A Unicode code point is the numeric identity of a character or text component. U+0041 identifies A, U+00E9 identifies the precomposed letter é, and U+1F600 identifies the grinning face emoji. The valid Unicode scalar range is U+0000 through U+10FFFF, excluding surrogate code points from U+D800 through U+DFFF.

Code points vs visible characters

One visible grapheme cluster can contain one code point or several. A decomposed accented letter may contain a base character plus a combining mark. Family emoji can contain several emoji joined with U+200D ZERO WIDTH JOINER. Flags use regional indicator pairs, and some emoji use variation selectors or skin-tone modifiers. This tool outputs one formatted value per Unicode scalar value; it does not collapse a grapheme cluster into a single invented code point.

Code points vs UTF-8 bytes

Code points and bytes describe different layers. For é, the code point is U+00E9, while the UTF-8 bytes are C3 A9. For 😀, the code point is U+1F600, while the UTF-8 bytes are F0 9F 98 80. The diagnostic table shows UTF-8 bytes for reference, but the main output is code-point notation.

BMP and supplementary code points

The Basic Multilingual Plane covers U+0000 through U+FFFF. Supplementary planes cover U+10000 through U+10FFFF. JavaScript stores supplementary characters internally as UTF-16 surrogate pairs, but this tool iterates by code point, so 😀 becomes U+1F600, not U+D83D U+DE00.

Combining marks and normalization

Visually identical text can have different code-point sequences. Precomposed é is U+00E9. Decomposed is U+0065 U+0301. With normalization off, the original sequence is preserved exactly. If NFC is explicitly selected, the decomposed sequence may become U+00E9; if NFD is selected, precomposed characters may decompose into base letters and combining marks. For a dedicated comparison view, use the Unicode Normalizer.

Emoji and ZWJ sequences

Emoji sequences often contain several code points. The family emoji 👨‍👩‍👧‍👦 includes multiple emoji code points joined by U+200D. Rainbow flags, profession emoji, gendered emoji, flags and skin-tone sequences follow similar rules. The output keeps every component visible in the code-point sequence.

Output formats

The same input can be rendered as U+ notation, plain hexadecimal, decimal values, 0x-prefixed values, HTML numeric references, JavaScript code-point escapes, Python escapes or CSS escapes. CSS escapes are terminated with a trailing space so they remain safe when followed by hexadecimal text.

Invisible Unicode characters

Tabs, line breaks, no-break spaces, zero-width joiners, variation selectors, bidi controls and other format characters are valid Unicode values. This tool preserves them and includes them in the output. When unusual invisible or format characters are present, the warnings and diagnostic table call that out without removing anything automatically.

How to use the tool

Paste text, choose an output notation, separator and hexadecimal casing, then process the text. Use Advanced options only when you intentionally want to normalize the input before conversion. Load example inserts Hello, café 😀; changing notation or normalization never replaces your input.

Privacy and processing

This tool runs in your browser. Your input is not submitted to UnicodeNow, inserted into URLs, saved to localStorage or sessionStorage, or sent through analytics by this page.

Common uses

Examples

Input:

A é 😀

U+ notation:

U+0041 U+0020 U+00E9 U+0020 U+1F600

Combining input:

Code points:

U+0065 U+0301

The second example contains two code points even though it may render like one accented letter.

Frequently asked questions

What is a Unicode code point?

A Unicode code point is a numeric value assigned to a Unicode character or text component, commonly written as U+ followed by hexadecimal digits.

What does U+ mean?

U+ is the conventional prefix for hexadecimal Unicode code-point values such as U+0041, U+00E9 and U+1F600.

Does one character always equal one code point?

No. A visible grapheme cluster may contain one code point, a base character plus combining marks, or several emoji code points joined together.

Why does emoji sometimes contain several code points?

Emoji sequences can use variation selectors, skin-tone modifiers, regional indicators and zero-width joiners to form one visible grapheme.

What is the difference between a code point and UTF-8 bytes?

A code point identifies a Unicode value. UTF-8 is a byte encoding used to store or transmit that value.

Why does é sometimes appear as one code point and sometimes two?

It may be precomposed as U+00E9 or decomposed as U+0065 followed by U+0301 COMBINING ACUTE ACCENT.

What is the BMP?

The Basic Multilingual Plane contains code points from U+0000 through U+FFFF.

What are supplementary code points?

Supplementary code points are values from U+10000 through U+10FFFF, outside the Basic Multilingual Plane.

What are surrogate pairs?

Surrogate pairs are the UTF-16 representation of supplementary code points using two UTF-16 code units.

Does this tool output surrogate pairs for emoji?

No. The default code-point formats output one supplementary value such as U+1F600, not U+D83D U+DE00.

Can this tool show invisible characters?

Yes. Invisible and format characters are preserved and identified in the diagnostics where possible.

Does normalization change the output?

It can. Normalization may change the Unicode sequence before conversion, so the code points shown in the output may change.

Can I output decimal code points?

Yes. Select Decimal in the Output notation control.

Can I generate HTML character references?

Yes. The tool can output hexadecimal or decimal HTML numeric character references.

Is my text uploaded?

No. This tool runs in your browser and does not submit input to UnicodeNow.

Related tools

Unicode Character Inspector

Inspect each Unicode character, encoding, category, script and normalization form.

UnicodeProcessed locally

Unicode Sequence Analyzer

Analyze code points, grapheme clusters, bytes, scripts and directionality.

UnicodeProcessed locally

Unicode Character Lookup

Search Unicode characters by glyph, code point, name, script or block.

UnicodeServer tool

Unicode Escape Converter

Convert text to and from Unicode escape sequences and numeric entities.

DeveloperProcessed locally

Text to Hex

Convert UTF-8 text bytes into hexadecimal values.

EncodingProcessed locally

Byte Length Calculator

Count UTF-8 bytes, code points, grapheme clusters and UTF-16 code units for text.

EncodingProcessed locally

Related guides

Unicode vs UTF-8

Unicode defines characters and code points. UTF-8 encodes those code points as bytes for files, databases, web pages, APIs and network messages.

What Is a Unicode Code Point?

Learn what Unicode code points are, how U+ notation works, and how code points differ from glyphs, bytes, code units and visible characters.

What Is a Grapheme Cluster?

Learn how grapheme clusters represent user-perceived characters, why emoji and combining marks affect length, and how to handle text safely.

Unicode Normalization Explained

Learn NFC, NFD, NFKC and NFKD, canonical and compatibility equivalence, and safe normalization for comparison, search and identifiers.