About the Unicode Escape
Different languages write Unicode escapes differently. JSON, JavaScript and Java use \uXXXX, which holds only 16 bits, so characters above U+FFFF must be written as a UTF-16 surrogate pair: 🚀 (U+1F680) becomes \uD83D\uDE80. ES2015+, Rust and Swift accept \u{1F680}; Python and C use \U0001F680; HTML and XML use 🚀; documentation writes code points as U+1F680.
The encoder iterates over code points, not UTF-16 units, so astral characters are never split incorrectly. By default only non-ASCII characters are escaped, leaving readable ASCII; tick “Escape ASCII too” to escape everything. U+ format always lists every code point, separated by spaces.
The decoder recognises all of these formats in the same input, recombines surrogate pairs, and rejects out-of-range values such as \u{110000}. It is useful for reading escaped strings in logs, JSON produced with ensure_ascii=True, and Java .properties files.
How to use it
- Choose Escape or Unescape.
- Pick the escape format your language uses.
- Paste the text or escaped string.
- Copy the output.