Convert text to/from Unicode escape sequences. Fast, secure, and completely free. All processing happens in your browser — no data is sent to any server.
Unicode escaping represents characters using their code point in the \uXXXX (or \u{XXXXX} for characters outside the Basic Multilingual Plane) notation used by JavaScript, JSON, Java, and several other languages, instead of the character itself. This is useful when a string needs to be represented in pure ASCII — for compatibility with older systems, for embedding in source files with restricted encodings, or simply to see the exact code point behind a character that looks identical to another (a common source of subtle bugs with look-alike Unicode characters).
Two strings that look identical on screen can contain entirely different Unicode code points — a Cyrillic 'а' instead of a Latin 'a', for instance — which is a real source of bugs in string comparisons, security checks, and domain name spoofing. Escaping a string reveals exactly which code points it contains, which is invaluable when debugging a comparison that mysteriously fails, or when you need to embed non-ASCII text in a system (an old database column, a legacy config format) that only accepts plain ASCII.
Characters outside the Basic Multilingual Plane, including most emoji, are represented in JavaScript as a surrogate pair — two 16-bit code units — so escaping shows both parts rather than a single code point.
Yes, JSON adopted the same \uXXXX escape format as JavaScript, so escaped output from this tool is valid to use directly inside a JSON string value.
Yes — escaping reveals the actual underlying code points, making it easy to spot a Cyrillic or Greek character standing in for a visually similar Latin letter.
No, it's a lossless, reversible representation — unescaping the output always reconstructs the original characters exactly.
No, only non-ASCII characters are escaped by default since standard ASCII is already safe in virtually every text-based format.