How to use
- Paste the encoded value, open a file, or try the sample.
- Choose the format. The result updates as you type.
- Copy the result or download the converted data.
Decoding Unicode correctly
Convert Unicode and common string escapes back into readable text. Paste the string contents without surrounding quotation marks.
UTF-16 mode supports \uXXXX sequences. Code point mode also accepts \u{…}. Incomplete escapes, invalid code points and isolated surrogate halves are reported.
Read escaped string contents
Supported short escapes are backslash, double quote, slash, b, f, n, r and t. UTF-16 escapes must contain four hexadecimal digits. Literal text around escapes is preserved.
Hello, world! \ud83d\udc4bHello, world! 👋The default settings convert this input in one pass.
Pairs and scalar values
A high UTF-16 surrogate must be followed by its low surrogate. Code point notation is available only in Code point mode, with values up to U+10FFFF excluding surrogate code points.
Do not evaluate escaped input
The converter parses escapes directly; it never uses eval or runs JavaScript. %uXXXX, \xNN, octal escapes and unknown escape letters are outside its supported formats. A run decodes one layer only.
Up to 5 MiB of input, 20 MiB of output, and 10 seconds per run. Text files must use UTF-8. Base64 encoding also accepts binary files. Documents stay on your device.
Frequently asked questions
Should I include the outer quotes?
No. Paste only the escaped string contents; literal outer quotes are treated as data.
Why is \u{1f44b} rejected?
Select Code point mode. UTF-16 mode accepts only four-digit \uXXXX escapes.
Can I decode %uXXXX or \xNN?
No. Those are different formats. This tool handles the documented Unicode and common string escapes.
What happens to a lone surrogate?
It is rejected instead of producing text that cannot round-trip through UTF-8.
Does the decoder execute JavaScript?
No. It parses the supported escapes as data.