Encoding Tools
Unicode to text converter.
Paste code points and get the characters. It reads U+1F44B, 0x1F44B, \u{1F44B}, \uD83D\uDC4B and \U0001F44B, in a list separated by spaces, commas or semicolons, and tells you which entries are not valid.
Example: U+0048 U+0069 U+0020 U+1F44B becomes Hi 👋. For decimal input such as 72 105, switch the number base to decimal.
Inputs
Result
Accepted notations and limits
Every entry is turned into one code point, then the code points are joined into a string. Accepted forms: U+1F600 (Unicode's own notation), 0x1F600, \u{1F600} (JavaScript ES2015), \U0001F600 (Python and C), \u00E9, and bare hex such as 1F600. A prefix always means hex; the base setting only applies to entries with no prefix.
Surrogates. Unicode code points run from U+0000 to U+10FFFF, and U+D800 to U+DFFF are reserved for UTF-16 surrogates and are not characters. Escapes such as \uD83D\uDE00 are a high surrogate followed by a low surrogate; RFC 2781 section 2.1 gives the arithmetic (subtract 0x10000, put the top 10 bits in 0xD800 and the low 10 bits in 0xDC00). This tool joins a valid pair into U+1F600 and refuses a surrogate that has no partner, because it does not stand for any character.
Not everything displays. A code point can be valid and still look like nothing: U+200B is a zero-width space and U+FE0F is a variation selector. A code point that is unassigned in your browser's Unicode version, or that needs a font you do not have, may show as a box. Both cases are fine for conversion; the character is in the text even if it cannot be drawn.
Sources: The Unicode Standard, chapter 3 (Conformance) and RFC 2781, UTF-16, retrieved October 2026. To check what a single code point is, use the code point lookup.
Frequently asked questions
How do I convert a Unicode code point to a character?
Paste it above, for example U+00E9 or 0xE9. The text appears in the output box, and the table lists each code point with its UTF-8 bytes and category.
Can I convert \uD83D\uDE00 to an emoji?
Yes. Paste both halves in order. The tool joins the high and low surrogate into the single code point U+1F600 and outputs the emoji.
Why is my code point rejected?
The usual reasons are a value above U+10FFFF (the last code point), a lone surrogate between U+D800 and U+DFFF, or text that is not a number. The message above the output names the entry.
How do I convert decimal Unicode values?
Set "Numbers without a prefix are" to Decimal and enter values such as 72 105 33. Entries with a prefix like U+ or 0x are still read as hex.
Is the conversion done on a server?
No. It runs in your browser, so your values are never uploaded.