Unicode Converter

How to use

Converts text into its Unicode code points (like U+1F600) and back again, correctly handling emoji and characters from any script. Paste text or code points and copy the converted result.

Web ToolsLocal only
When to use this
  • Looking up the exact code point for an emoji to use in code or documentation
  • Debugging a text rendering issue involving unfamiliar or non-Latin characters
  • Converting a code point reference from a Unicode chart back into the actual character
  • Verifying which character a mysterious code point in a data file represents

Code points, bytes, and why one emoji can be several characters

A Unicode code point is a number assigned to a character: U+0041 is A, U+20B9 is the rupee sign, U+1F600 is a grinning face. An encoding is a separate question: it decides how that number becomes bytes. UTF-8 uses one byte for the ASCII range, two for most European and Middle Eastern scripts, three for most of Asia and four for emoji and historic scripts. So a string of ten characters can be ten bytes or forty depending entirely on what those characters are, which is why a database column sized in bytes and a form validated in characters disagree so reliably.

The count gets stranger with emoji. Many are not one code point but several joined by a zero-width joiner, U+200D. A family emoji can be built from four person emoji plus three joiners: seven code points, rendered as one glyph, and counted as anything from one to eleven depending on what is doing the counting. Skin tone modifiers work the same way, appending a separate code point to a base character. This is why deleting an emoji sometimes takes several backspaces and why truncating a string by byte length can split a character in half and produce a replacement glyph.

Two other categories are worth recognising when they appear in output. Combining characters modify the character before them, so an accented letter can exist either as a single precomposed code point or as a base letter plus a combining accent: visually identical, different data, and not equal in a string comparison unless both sides are normalised first. And the invisible characters (zero-width spaces, non-breaking spaces, directional marks) are the usual explanation for text that looks correct and refuses to match, sort or import. Converting to code points is the fastest way to see them, because nothing else makes them visible.

Free and private. Everything runs on your own device, with no account and no uploads.

Working with emoji or characters from non-Latin scripts sometimes requires their exact Unicode code point. This tool converts text to code points like U+1F600 and back again.

Yes, emoji and other multi-byte characters are correctly handled and converted to their proper code points.

Code points are shown in the standard U+XXXX hexadecimal notation used in Unicode documentation.

Yes, any valid Unicode character from any script, Cyrillic, Arabic, CJK and more, converts correctly.

How it works
  1. 1

    Enter text or code points

    Type text (including emoji) or Unicode code points.

  2. 2

    Convert

    See the equivalent representation.

  3. 3

    Copy the result

    Grab the converted output.

Pro tips
  • ·Remember some emoji are composed of multiple code points (like skin-tone modifiers or ZWJ sequences), check for more than one U+ value.
  • ·Use the standard U+XXXX notation when referencing characters in bug reports or documentation for clarity.
  • ·When debugging mojibake or garbled text, converting to code points first can reveal whether the issue is encoding-related.