Unicode Decode

Convert Unicode escape sequences (\uXXXX, U+XXXX, HTML entities) back to readable characters.

About Unicode Decoding

Unicode decoding converts escape sequences back to their original human-readable characters. You commonly encounter Unicode escape sequences in JSON data (\u4E16\u754C for 世界), JavaScript source code with non-ASCII string literals, Python repr() output, HTML source from CMS systems that encode special characters, and obfuscated JavaScript code that encodes all characters as \uXXXX escapes.

This tool supports auto-detection of the escape format, so you can paste any Unicode-encoded text and get the decoded result without manually selecting the format. It handles all common variants: JavaScript/JSON \uXXXX, Unicode U+XXXX notation, HTML hex &#xXXXX; and decimal &#XXXXX; entities, and CSS \XXXXXX notation.

FAQ

Why is my JSON showing \uXXXX sequences instead of the actual characters?
Some JSON encoders (especially older ones or those with ASCII-safe mode enabled) encode all non-ASCII characters as \uXXXX escape sequences. The JSON is perfectly valid — paste it into the JSON Formatter or this Unicode decoder to see the actual characters.
What does \u0000 decode to?
\u0000 is the null character (U+0000), a non-printable control character. It renders as an empty space in most text displays. Null characters can cause issues in C strings, SQL queries, and some file parsers. \u0009 is a tab, \u000A is a newline, \u000D is a carriage return.