UTF-8 Encoder/Decoder
Free online UTF-8 encoder/decoder tool, Unicode codepoint conversion
About Unicode Code Point Converter
Converts between readable text and Unicode code points written in the U+XXXX notation. Encode mode splits the input into Unicode code points (correctly handling surrogate pairs for characters above U+FFFF, such as emoji) and prints each as U+ followed by a zero-padded uppercase hex value. Decode mode accepts a whitespace-separated list of U+XXXX (or bare hex) values and rebuilds the original string.
How to Use
1. Pick Encode or Decode from the two tabs. 2. In Encode mode, type any text; the output shows each code point separated by a space (e.g. "A\u2764\ufe0f" becomes "U+0041 U+2764 U+FE0F"). 3. In Decode mode, paste code points separated by spaces; the U+ prefix is optional. 4. Click Encode/Decode to run, Swap to flip direction and load the result into the input, or Clear to reset.
Code Point Format Details
Encoding iterates with codePointAt and skips the trailing surrogate of any pair whose value exceeds 0xFFFF, so a single emoji counts as one code point. Each value is rendered as "U+" plus at least four uppercase hex digits (e.g. U+0041, U+1F600). Decoding strips an optional U+ or u+ prefix, parses the remainder as base-16 via parseInt, and rebuilds the character with String.fromCodePoint. Values are joined with no separator, so multi-code-point graphemes are reconstructed faithfully.
▶How are emoji and astral characters handled?
▶Is the U+ prefix required when decoding?
▶Why does my hex value show as a replacement character?
▶Why is the output hex padded to four digits?
If this tool has been helpful to you, consider buying me a coffee.
Buy me a coffee