Unicode Escape
Converts text to and from \uXXXX escapes; also decodes \xNN and \u{…} forms, with optional ASCII-only escaping.
What this tool does
Two directions: escape text into \uXXXX sequences (optionally escaping only non-ASCII characters, or everything), and unescape sequences like \u4E2D\u6587 back into readable text. Unescaping additionally accepts \xNN (two-digit hex) and \u{1F600} (code-point) forms. Non-ASCII text is handled as UTF-16 code units, matching JavaScript and Java escape rules.
Typical use cases
Decoding API responses full of \u4e2d\u6587 back into readable text; editing Java properties files, which traditionally require ISO-8859-1 with non-ASCII written as \u escapes; confirming the code point of an invisible or special character before embedding it in source code; looking up the escape form of an emoji, or the character behind an escape.
Caveats
A common confusion: astral characters such as emoji split into two units in \uXXXX form (😀 becomes \uD83D\uDE00) — a surrogate pair, because \uXXXX denotes a UTF-16 code unit, not a Unicode code point. Python's \U0001F600 and ES6's \u{1F600} are code-point forms; this tool accepts the latter when unescaping. Also note that \u escapes and URL encoding (%E4%B8%AD) are entirely different mechanisms — don't mix them.