HomeConvertersData & DigitalUnicode Text Converter

Unicode Text Converter

Data & Digital

Convert text to Unicode escape sequences, U+ code points, HTML entities, and UTF-8 hex bytes — or decode Unicode escapes back into readable text, instantly.

Input Text (or paste Unicode escapes to decode)
13 code points
Unicode Escape (\uXXXX)
\u0048\u0065\u006c\u006c\u006f\u002c\u0020\u0077\u006f\u0072\u006c\u0064\u0021
U+ Notation
U+0048 U+0065 U+006C U+006C U+006F U+002C U+0020 U+0077 U+006F U+0072 U+006C U+0064 U+0021
HTML Entity
Hello, world!
Decimal Code Points
72, 101, 108, 108, 111, 44, 32, 119, 111, 114, 108, 100, 33
UTF-8 Hex Bytes
48 65 6C 6C 6F 2C 20 77 6F 72 6C 64 21

What is a Unicode Text?

The Unicode Text Converter turns readable text into its underlying Unicode representations — escape sequences, code points, HTML entities, and raw UTF-8 bytes — and decodes those representations back into text. Every character you type, from a plain letter to an emoji, has a numeric identity in the Unicode Standard; this tool exposes that identity in the formats developers, writers, and localisation teams actually need to paste into code, markup, or documentation.

It's built around a single text field that updates all five output formats simultaneously, so you never need to guess which encoding format matches your use case — copy whichever one fits. If you're working with numbers rather than text, the Number Base Converter handles binary, decimal, octal, and hexadecimal conversions using the same instant-update approach.


How to use this Unicode Text calculator

  1. Type or paste your text into the Input Text box.
  2. Watch all five output cards — Unicode Escape, U+ Notation, HTML Entity, Decimal Code Points, and UTF-8 Hex Bytes — update instantly.
  3. Click the Copy button on any output card to copy that specific format to your clipboard.
  4. To decode instead, paste a \uXXXX, U+XXXX, or &#x...; escaped string into the same input box.
  5. Check the Decoded Text card that appears above the outputs for the readable result.
  6. Use Clear to reset the input and start a new conversion.

Formula & Methodology

Text is processed by Unicode code point (using Array.from(), which correctly iterates full code points rather than raw UTF-16 code units) so multi-byte characters like emoji are represented accurately rather than split incorrectly:

- Unicode Escape: each code point ≤ U+FFFF becomes \u + its 4-digit hex value; code points above U+FFFF are encoded as a valid UTF-16 surrogate pair (two \uXXXX escapes), matching how JavaScript string literals actually store them.
- U+ Notation: each code point becomes U+ followed by its hex value, uppercase, minimum 4 digits.
- HTML Entity: each code point becomes &#x + hex value + ;.
- Decimal Code Points: each code point's decimal (base-10) value, comma-separated.
- UTF-8 Hex Bytes: the text is encoded via TextEncoder into raw UTF-8 bytes, each shown as a 2-digit hex value.

Worked example — converting the single character "€" (Euro sign, U+20AC):

- Unicode Escape: \u20ac
- U+ Notation: U+20AC
- HTML Entity: €
- Decimal Code Points: 8364
- UTF-8 Hex Bytes: E2 82 AC (three bytes, since € falls outside the single-byte ASCII range)

Frequently Asked Questions

A Unicode escape sequence is a way of representing a character using its numeric code point instead of the character itself, most commonly written as \uXXXX where XXXX is a four-digit hexadecimal number. Programming languages like JavaScript, Java, and Python use this format so source code can include characters that aren't easy to type directly.
Type or paste your text into the input box, and the converter instantly shows the \uXXXX escape form alongside four other representations. Each output has its own copy button, so you can grab exactly the format you need.
\uXXXX is the escape syntax used inside programming language string literals (JavaScript, Java, C#), while U+XXXX is the notation used in the official Unicode Standard and documentation to reference a character's code point. Both represent the same underlying number — they just differ in formatting convention and context.
Paste the escaped string — for example \u0048\u0065\u006C\u006C\u006F — into the same input box, and the converter automatically detects the escape pattern and shows the decoded text in a separate result card. This works for \uXXXX, U+XXXX, and HTML entity formats without needing to switch modes.
HTML entities like 😀 represent characters using their code point inside HTML markup, useful when a character can't be typed directly into an HTML file or might conflict with reserved characters. This converter generates hex-based HTML entities for every character in your input automatically.
Characters beyond the Basic Multilingual Plane (like most emoji) require more than 16 bits to represent, so the converter processes text by Unicode code point rather than by UTF-16 code unit, and represents them as valid surrogate pairs in the \uXXXX output — matching how JavaScript string literals actually encode them. The U+ notation, HTML entity, and decimal outputs show the true single code point instead of a split pair.
A Unicode code point is the abstract number assigned to a character (like U+0041 for 'A'), while UTF-8 bytes are the actual sequence of 8-bit values used to store that character in a file or transmit it over a network — an ASCII character takes 1 byte, but many other characters take 2 to 4 bytes. The UTF-8 Hex Bytes output shows exactly how your text would be stored in a UTF-8-encoded file.
Developers need this when embedding non-ASCII characters in source code, JSON strings, configuration files, or regex patterns that only support ASCII-safe escape sequences, or when debugging encoding issues in logs and API responses. It's also common when working with legacy systems that can't handle raw UTF-8 input directly.
No — all conversion happens directly in your browser using JavaScript; nothing you type is sent to a server, logged, or stored. You can use this tool for sensitive strings without any privacy concern.
This converter currently decodes \uXXXX, U+XXXX, and HTML entity formats automatically when pasted into the input; decimal code point lists are shown as an output but aren't yet auto-decoded on the way back in. For decimal-to-text conversion, convert your decimal value to hexadecimal first using the [Number Base Converter](/number-base-converter/), then paste it in U+ notation.
The [Case Converter](/case-converter/) changes the capitalisation and word-formatting style of text (UPPERCASE, camelCase, snake_case), while this tool changes how characters are *represented* at the encoding level — same visible text, different underlying notation. They solve different problems and are often used together when preparing text for code.
Also known as
text to unicodeunicode to textstring to unicode escapeunicode code point convertertext to u+ notationunicode decoder