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.

Reviewed by the thecalcu.com team · Last updated July 31, 2026

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.


Why Use a Unicode Text Converter?

Non-ASCII characters, accented letters, currency symbols, emoji, characters from non-Latin scripts, regularly break in unexpected places: a JSON file that only accepts ASCII-safe escapes, a legacy system that can't render raw UTF-8, or a regex pattern that needs a code point rather than the literal character. Manually looking up code points character-by-character in a Unicode chart is slow and error-prone, especially for multi-character strings.

This converter handles the whole string at once, producing every common representation in parallel. It's equally useful in reverse: pasting in a \uXXXX-escaped string from a log file or API response and getting back readable text immediately, without writing a one-off script. For a change in text casing or formatting style rather than encoding, pair this with the Case Converter.


Who Should Use This Converter?

  • Developers embedding non-ASCII characters in source code, JSON payloads, or configuration files that require ASCII-safe escape sequences.
  • Localisation and i18n engineers debugging encoding issues where text renders as garbled characters or literal escape codes instead of the intended symbols.
  • Web developers who need HTML entity codes for special characters that can't be typed directly into markup.
  • Technical writers and documentation authors referencing specific Unicode code points (U+ notation) when writing style guides or character references.
  • Anyone debugging a log file or API response full of \uXXXX sequences who just wants to read the actual text.

What Insights Does the Unicode Text Converter Give You?

Each output card shows your input text translated into a specific representation: Unicode Escape (\uXXXX, the format used inside JavaScript/Java/C# string literals), U+ Notation (the Unicode Standard's own reference format), HTML Entity (&#xXXXX;, safe for embedding in HTML markup), Decimal Code Points (the same values in base 10, useful for cross-referencing Unicode charts), and UTF-8 Hex Bytes (the exact byte sequence your text becomes when saved as a UTF-8 file).

When your input already looks like an escaped string, a Decoded Text card appears automatically above the encoded outputs, showing what that escape sequence resolves to in plain readable text, useful for quickly checking whether a \uXXXX string you found somewhere is what you think it is.


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.

Show formula & methodology ↓Show less ↑

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

What is a Unicode escape sequence?
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.
How do I convert text to Unicode escape sequences?
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.
What is the difference between \uXXXX and U+XXXX notation?
\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.
How do I decode a Unicode escape sequence back to readable text?
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.
What are HTML entities, and when do I need them?
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.
How does this converter handle emoji and other characters outside the Basic Multilingual Plane?
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.
What is the difference between UTF-8 bytes and a Unicode code point?
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.
Why would a developer need to convert text to Unicode escapes?
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.
Is my text uploaded or stored anywhere when I use this converter?
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.
Can I convert decimal code points back to text?
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.
What's the difference between this tool and a case converter?
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