Unicode Unescape
Decode \\uXXXX and \\u{XXXXX} sequences back to readable text.
UnescapeUnicodeClient-sideFree to use
Switch to escape
Syntax
0 / 500,000
Try It Out
How to use
- Paste your escaped text. Both \u and \u{} syntaxes supported.
- Copy the decoded output. Unicode text.
Common use cases
- Reading obfuscated JS strings
- Recovering original unicode from logs
- Debugging escape sequences
Frequently asked questions
- What is this tool best used for?
- Unicode unescaping is most useful when reading obfuscated JavaScript, inspecting log output from Java or Python serializers, or decoding JSON strings that arrived with \uXXXX sequences in place of actual characters. It turns machine-readable escape notation back into human-readable text instantly.
- Which escape formats does the tool recognize?
- The tool handles the classic four-digit form \uXXXX, the ES6 code-point form \u{XXXXX} with any number of hex digits, and the eight-digit form \UXXXXXXXX used in Python and some C libraries. Mixed input works: text that contains some escaped sequences alongside unescaped characters is processed correctly.
- Does this tool send my text to a server?
- No. The conversion happens entirely in your browser. Nothing is transmitted to any server.
- How does the tool handle surrogate pairs?
- Classic \uXXXX encoding represents characters outside the Basic Multilingual Plane as two escape sequences, a high surrogate followed by a low surrogate (for example \uD83D\uDE00 for 😀). The tool detects adjacent surrogate pairs and combines them into the correct Unicode character rather than treating each escape in isolation.
- What happens to text that contains no escape sequences?
- It passes through unchanged. The tool only transforms the \u and \U sequences it finds; all other characters, including backslashes not followed by a u, are left exactly as they are.
Related tools
How to use
- Paste your escaped text. Both \u and \u{} syntaxes supported.
- Copy the decoded output. Unicode text.
Common use cases
- Reading obfuscated JS strings
- Recovering original unicode from logs
- Debugging escape sequences
Frequently asked questions
- What is this tool best used for?
- Unicode unescaping is most useful when reading obfuscated JavaScript, inspecting log output from Java or Python serializers, or decoding JSON strings that arrived with \uXXXX sequences in place of actual characters. It turns machine-readable escape notation back into human-readable text instantly.
- Which escape formats does the tool recognize?
- The tool handles the classic four-digit form \uXXXX, the ES6 code-point form \u{XXXXX} with any number of hex digits, and the eight-digit form \UXXXXXXXX used in Python and some C libraries. Mixed input works: text that contains some escaped sequences alongside unescaped characters is processed correctly.
- Does this tool send my text to a server?
- No. The conversion happens entirely in your browser. Nothing is transmitted to any server.
- How does the tool handle surrogate pairs?
- Classic \uXXXX encoding represents characters outside the Basic Multilingual Plane as two escape sequences, a high surrogate followed by a low surrogate (for example \uD83D\uDE00 for 😀). The tool detects adjacent surrogate pairs and combines them into the correct Unicode character rather than treating each escape in isolation.
- What happens to text that contains no escape sequences?
- It passes through unchanged. The tool only transforms the \u and \U sequences it finds; all other characters, including backslashes not followed by a u, are left exactly as they are.