Skip to content

Unicode escape converter

Turn text into JavaScript, Python, HTML, CSS or URL escape sequences, and decode escapes back to readable text. A code point table shows every character's details.

  • Free, no limits
  • No sign-up
Everything happens in your browser; your data is never uploaded.
  • ✓ Free
  • ✓ No sign-up
  • ✓ Nothing uploaded

Next step

What to do next

How to use it

  1. Choose Text → escape or Escape → text.
  2. Pick the escape format (or auto-detect when decoding).
  3. Choose whether to escape only non-ASCII characters.
  4. Copy the result or download the code point table.
Try it now

Supported formats

Formaté (U+00E9)😀 (U+1F600)Used in
\uXXXX\u00e9\ud83d\ude00JavaScript, JSON, Java
\u{…}\u{e9}\u{1f600}Modern JavaScript (ES6+)
\uXXXX / \UXXXXXXXX\u00e9\U0001f600Python, C, C++
&#…; decimalé😀HTML, XML
&#x…; hexé😀HTML, XML
CSS\e9\1f600CSS content, selectors
%XX%C3%A9%F0%9F%98%80URLs (UTF-8 bytes)
U+ listU+00E9U+1F600Documentation, Unicode charts

Note how the JavaScript/JSON format writes characters above U+FFFF, like emoji, as two \u codes: a surrogate pair. ES6 \u{…} and Python \U write them as one code point.

Encoding options

  • Only non-ASCII characters (on by default) leaves plain English letters, digits and punctuation as they are and escapes everything else. café becomes caf\u00e9. Turn it off to escape every character.
  • Uppercase hex writes \u00E9 instead of \u00e9. Both are valid; pick what matches your codebase's style.

The note under the result shows three different lengths for your text: characters (code points), UTF-16 code units (what JavaScript's .length reports) and UTF-8 bytes (what a file or network request takes). An emoji, for example, is 1 code point, 2 UTF-16 units and 4 UTF-8 bytes.

The table below lists every character (up to 300) with its code point, decimal value, JS/JSON escape, HTML entity and URL encoding, and you can download it as CSV.

Code points, UTF-16 and UTF-8 in a nutshell

Every Unicode character has a code point, a number written as U+ followed by hex digits: A is U+0041, é is U+00E9, € is U+20AC and 😀 is U+1F600. Encodings store those numbers as bytes:

CharacterCode pointUTF-16 unitsUTF-8 bytes
AU+004111 (41)
éU+00E912 (C3 A9)
€U+20AC13 (E2 82 AC)
😀U+1F60024 (F0 9F 98 80)

That's why string lengths differ between languages and tools, and why escapes look different in each format.

Decoding

Switch to Escape → text and paste escaped text. With Auto-detect, all formats are recognized, even mixed together in one string: \u00e9, \u{1f600}, \U0001f600, é, é, named entities such as &, <,   and ©, %C3%A9 and U+00E9. Simple JavaScript escapes like \n and \t are converted too.

If you choose a specific input format, only that format is decoded, which avoids surprises when the text legitimately contains other backslashes or percent signs. When decoding CSS, choose the CSS format explicitly, so that sequences like \b or \0 are read as hexadecimal code points rather than JavaScript escapes. The note tells you how many escape sequences were converted.

Common uses

  • Fixing JSON and logs that show \u00e9 instead of é: paste and decode.
  • Embedding special characters in source code that must stay ASCII.
  • Reading URL-encoded parameters like %E2%9C%93.
  • Writing HTML entities for characters that are hard to type.
  • Debugging encoding problems by looking at the actual code points of suspicious text. Pair it with invisible character to find hidden characters.

For converting text to binary or hex bytes, see the binary translator. Everything runs in your browser.

Frequently asked questions

How do I convert \u00e9 back to é?

Choose Escape → text and paste the string. Auto-detect decodes \u escapes and other common formats.

Why is an emoji two \u codes in JSON?

JSON and JavaScript strings use UTF-16, and characters above U+FFFF are stored as two code units called a surrogate pair.

What is the difference between é and é?

Both are HTML character references for é: the first uses the decimal code point, the second the hexadecimal one.

How do I URL-encode a character?

Choose the %XX format. Each character is encoded as its UTF-8 bytes, for example é becomes %C3%A9.

Can it decode mixed formats?

Yes. Auto-detect handles \u, \u{}, \U, HTML entities, %XX and U+ notation in the same text.

Last updated: November 12, 2026

Recommended

Similar tools

If Unicode escape converter helped, you may need these too.

See all in category →

People also use