Skip to main content
Byte Array Tools

Unicode Code Point Converter

Convert text to Unicode code points and escapes - U+XXXX, \uXXXX, \u{...}, HTML entities, CSS escapes - and turn any of them back into text.

Find the code point of any character or emoji, or turn a string of escapes from code or logs back into readable text.

Reads U+1F600, é, \u{1F600}, \U0001F600, ₹, é and 0x41.
CharCode pointDecimalJS / JSONHTMLUTF-8

Emoji outside the Basic Multilingual Plane need two \u escapes (a surrogate pair) in JavaScript and JSON - the converter handles both directions.

What Is the Unicode Code Point Converter?

Every character has a Unicode code point, written U+ followed by hex digits. Programming languages, HTML and CSS each write it differently. This tool converts text to code points in the notation you need and converts any of these notations back to text.

When to Use It

  • Finding the code point of an emoji or a character from another script.
  • Writing a character in source code as an escape, such as ₹, or in HTML as ₹.
  • Reading a string full of escapes from JSON, a log or a stack trace.

How to Use It

  1. Type text on the left to get code points, choosing the format: U+XXXX, JavaScript/JSON/Java \uXXXX, ES6 \u{...}, Python, HTML hex or decimal entities, CSS or plain decimal.
  2. Or paste escapes on the right and click Code Points to Text - mixed notations are fine.
  3. The table shows every character in several notations at once.

Example

नमस्ते 👋 in JavaScript escapes is नमस्ते 👋. The Hindi word is six code points, including the virama U+094D that joins letters, and the waving-hand emoji U+1F44B needs the surrogate pair 👋 in JavaScript. In reverse, U+1F600 é ₹ becomes 😀é₹.

Understanding the Output

Code points above U+FFFF, such as most emoji, do not fit in one 16-bit unit, so JavaScript, JSON and Java write them as two escapes (a surrogate pair). ES6 \u{1F44B}, Python \U0001F44B and HTML entities write them directly.

Limitations

One visible character can be several code points - letters with combining marks, flags and family emoji - so the table can have more rows than you see characters. Character names are not shown. To see the UTF-8 bytes, use the UTF-8 Encoder / Decoder.

Frequently Asked Questions

A number that identifies one character in the Unicode standard, written as U+ followed by at least four hex digits - for example U+0041 is A and U+1F600 is the grinning face emoji. There are code points up to U+10FFFF.

The \uXXXX escape holds only four hex digits (up to U+FFFF). Code points above that are written as a surrogate pair: two escapes from the ranges D800-DBFF and DC00-DFFF. ES6 JavaScript also accepts the shorter \u{1F600} form.

Some visible characters are sequences: letters with combining accents, Hindi conjuncts with a virama, flags (two regional indicators) and family or skin-tone emoji joined with zero-width joiners. Each part has its own code point.

U+XXXX, \uXXXX (including surrogate pairs), \u{...}, \UXXXXXXXX, HTML entities (₹ and ₹), CSS escapes, 0x values and plain decimal numbers - even mixed together in one input.
Share this tool: