Text to Unicode Code Points
Convert text into U+XXXX Unicode code point notation.
Convert Unicode code-point notation, numeric references, and escape sequences into text.
Every parsed value is validated as a Unicode scalar value. Supplementary characters such as emoji are converted correctly instead of being truncated to UTF-16 code units.
Your input is processed in this browser and is not submitted to UnicodeNow.
This tool converts Unicode code-point notation → strict parsing → Unicode scalar-value validation → Unicode text. For converting text into code-point notation, use Text to Unicode Code Points.
Normalization is separate from code-point validation and changes the decoded Unicode sequence after conversion.
NFKC and NFKD may replace compatibility characters and remove distinctions that matter in some workflows.
Decoded output is plain text. It is never executed, rendered as HTML, or opened as a URL.
Run the tool to inspect parsed tokens.
| Token | Parsed scalar value | Character | UTF-8 bytes | Status |
|---|
This converter parses code-point notation, validates every parsed value as a Unicode scalar value, and builds decoded text with String.fromCodePoint(). It supports U+ notation, plain hexadecimal, decimal values, 0x values, HTML numeric references, JavaScript escapes, Python escapes and CSS escapes. Processing runs locally in the browser.
Supported examples include U+0041 U+00E9 U+1F600, 0041 00E9 1F600, 65 233 128512, 0x0041 0x00E9, A, A, \u{41}, \u0041, \U0001F600 and CSS escapes such as \41 . Auto-detect is conservative: it accepts distinctive syntax and reports ambiguous or mixed input instead of guessing.
A Unicode scalar value is any code point from U+0000 through U+10FFFF except the surrogate range U+D800 through U+DFFF. Surrogate values are reserved for UTF-16 internals and are rejected as standalone input.
U+1F600 is one Unicode code point for 😀. In legacy JavaScript UTF-16 escape syntax, the same character may be written as \uD83D\uDE00. This tool combines valid surrogate pairs into one scalar value and rejects isolated or reversed surrogate escapes.
Supplementary characters are above U+FFFF. Examples include U+1F600 → 😀, U+1F9D1 → 🧑 and U+20000 → 𠀀. They are converted as full code points rather than truncated UTF-16 units.
U+0065 U+0301 decodes to decomposed é. With normalization off, that exact sequence is preserved. If you explicitly select NFC, the decoded text may normalize to precomposed é. Normalization is a separate post-conversion option and is off by default.
The sequence U+1F468 U+200D U+1F469 U+200D U+1F467 U+200D U+1F466 may render as the family emoji 👨👩👧👦. Several code points can form one grapheme cluster, and every code point is preserved in order.
Decoded text may contain U+0000 NULL, tabs, line feeds, carriage returns, no-break spaces, zero-width characters, variation selectors and bidirectional controls. The tool preserves valid scalar values and reports unusual invisible or format characters in warnings and diagnostics.
Malformed prefixes, missing semicolons, invalid hexadecimal digits, values above U+10FFFF, surrogate values, isolated UTF-16 surrogates, mixed formats and ambiguous plain values are reported as errors. The parser does not silently repair malformed notation.
Select the input notation, paste code points or escapes, choose the token separator policy, and process. Load example uses the selected notation. To generate U+ notation from ordinary text, open Text to Unicode Code Points.
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.
Input:
U+0048 U+0065 U+006C U+006C U+006F U+002C U+0020 U+00E9 U+0020 U+1F600
Output:
Hello, é 😀
Combining input:
U+0065 U+0301
Output:
é
Emoji sequence input:
U+1F468 U+200D U+1F469 U+200D U+1F467 U+200D U+1F466
Output:
👨👩👧👦
The emoji output contains several code points but may display as one grapheme cluster.
A Unicode code point is a numeric value assigned to a Unicode character or text component.
A Unicode scalar value is a valid Unicode code point excluding the UTF-16 surrogate range.
The valid range is U+0000 through U+10FFFF, excluding U+D800 through U+DFFF.
Surrogate values are reserved as UTF-16 code units and are not standalone Unicode scalar values.
U+1F600 is one Unicode code point. \uD83D\uDE00 is its UTF-16 surrogate-pair representation.
Yes. Select Decimal input and enter values such as 65 233 128512.
Yes. The tool supports hexadecimal and decimal numeric references, not named HTML entities.
Yes. It supports JavaScript code-point escapes and valid UTF-16 surrogate pairs without executing JavaScript.
Yes. Use \uXXXX for BMP values and \UXXXXXXXX for supplementary values.
No. Choose one notation for predictable strict parsing.
Some valid Unicode values are spaces, controls, joiners, variation selectors or format characters.
It can. Normalization changes the decoded code-point sequence after conversion and is off by default.
Yes. Provide every required code point in order, including joiners and variation selectors.
No. Surrogate code points such as U+D800 are rejected.
No. This tool runs in your browser and does not submit input to UnicodeNow.
Convert text into U+XXXX Unicode code point notation.
Inspect each Unicode character, encoding, category, script and normalization form.
Analyze code points, grapheme clusters, bytes, scripts and directionality.
Search Unicode characters by glyph, code point, name, script or block.
Convert text to and from Unicode escape sequences and numeric entities.
Encode and decode HTML named, decimal and hexadecimal entities.
Convert text to UTF-8 bytes and validate byte sequences.
Decode hexadecimal byte values into UTF-8 text.
Find zero-width, control, variation, private-use and spacing characters.
Unicode defines characters and code points. UTF-8 encodes those code points as bytes for files, databases, web pages, APIs and network messages.
Learn what Unicode code points are, how U+ notation works, and how code points differ from glyphs, bytes, code units and visible characters.
Learn how grapheme clusters represent user-perceived characters, why emoji and combining marks affect length, and how to handle text safely.
Learn NFC, NFD, NFKC and NFKD, canonical and compatibility equivalence, and safe normalization for comparison, search and identifiers.
Learn how zero-width spaces, joiners, non-breaking spaces, bidi controls and other invisible Unicode characters affect text.
Learn how Unicode escape syntax works across JavaScript, JSON, Python, PHP, Java, HTML, CSS and URLs.
Compare literal Unicode characters, named HTML entities, numeric character references, code points and UTF-8 bytes.