Unicode Converter
FreeConvert text into Unicode escape sequences in JavaScript, ES6, and HTML entity formats, and decode escape sequences back into readable text, automatically handling surrogate pairs for emoji, all running entirely in your browser.
Runs entirely in your browser. Your text is never uploaded anywhere.
Also view as
Unicode code point notation (U+XXXX)
HTML hex entity
HTML decimal entity
Recent Activity
Visible to everyone. Last 20 uses across all visitors, newest first.
Decoded 1 Unicode escape sequence(s) back to text
1 hour ago
Decoded 1 Unicode escape sequence(s) back to text
1 hour ago
Decoded 2 Unicode escape sequence(s) back to text
1 hour ago
Converted 1 character(s) of text to Unicode escapes
1 hour ago
Converted 1 character(s) of text to Unicode escapes
1 hour ago
Converted 1 character(s) of text to Unicode escapes
1 hour ago
Converted 2 character(s) of text to Unicode escapes
1 hour ago
What this tool does
This tool converts text into Unicode escape sequences in four common formats (JavaScript \uXXXX, ES6 code point \u{XXXXXX}, and HTML hex/decimal entities), and converts escape sequences back into readable text, automatically handling surrogate pairs for characters like emoji.
How It Works
Every character has an underlying Unicode code point, a number that identifies it. To encode, this tool reads each character's code point and writes it out using the delimiters and digit count that the chosen format requires, splitting code points above U+FFFF into a surrogate pair when the JavaScript \uXXXX format is selected. To decode, it scans the input text with a pattern that recognizes all five supported escape styles, converts each match back into its character, and reassembles any split surrogate pairs into a single character before rebuilding the final text.
Problems it solves
- Writing a non-ASCII character into a JSON file, JavaScript string, or source code comment using only ASCII characters.
- Cleaning up text that was copied from a web page or API response with some characters left as literal HTML entities or escape codes.
- Checking exactly which character a \uXXXX or &#DDDD; sequence in someone else's code actually represents.
- Converting the same character into several escape formats at once instead of looking up conversion rules for each one separately.
Frequently asked questions
›What is a Unicode escape sequence?
A Unicode escape sequence is a way of writing a character inside source code or markup using only plain ASCII, by spelling out its Unicode code point instead of the character itself; for example, the letter "A" (code point 65, or 0x41 in hex) can be written as \u0041 in JavaScript or A in HTML, and both represent the exact same character.
›Why do emoji and other characters need two \u escapes instead of one?
Characters outside the first 65,536 Unicode code points, including most emoji, cannot fit in a single 16-bit \uXXXX escape, so JavaScript and Java represent them as a "surrogate pair": two consecutive \uXXXX escapes that only make sense together. This tool automatically combines a valid high-low surrogate pair back into one character when decoding, and automatically splits a character into a surrogate pair when encoding to the \uXXXX format.
›Can I decode text that mixes normal characters with escape sequences?
Yes, the "Unicode to Text" tab scans your input for recognized escape patterns (\uXXXX, \u{XXXXXX}, &#xXXXX;, &#DDDD;, and U+XXXX) and replaces only those, leaving any surrounding plain text exactly as it was; this is useful for cleaning up text copied from a source file or web page where only some characters were escaped.
›What is the difference between the JavaScript, ES6, and HTML formats?
\uXXXX is the classic JavaScript/Java/JSON escape and always uses exactly 4 hex digits, requiring a surrogate pair for characters above U+FFFF; \u{XXXXXX} is the newer ES6 code point escape that can represent any code point directly without a surrogate pair; &#xXXXX; and &#DDDD; are HTML numeric character references in hex and decimal that browsers render directly in markup.
›Does this tool send my text anywhere?
No, every conversion happens with plain JavaScript directly in your browser; your text is never uploaded to a server.
Related Tools
Text
security.txt Generator
Generate a security.txt file per RFC 9116, the standard that tells security researchers how to report a vulnerability on your site, with built-in warnings for a missing or stale Expires date and invalid Contact URIs.
FreeText
Self-Signed SSL Certificate Generator
Generate a real, working self-signed TLS certificate and its matching private key right in your browser using node-forge, with Subject Alternative Names, configurable key size and validity period, and ready-to-download .crt and .key files.
FreeText
SQL Formatter
Reformat a SQL query for readability with consistent indentation, one clause per line, and your choice of keyword capitalization, across more than a dozen SQL dialects including MySQL, PostgreSQL, SQLite, T-SQL, PL/SQL, BigQuery, and Snowflake, all running entirely in your browser.
FreeText
SSL Certificate & Key Pair Checker
Check whether an SSL/TLS private key, certificate, and optional CSR actually belong to the same key pair, decode and view the certificate's subject, issuer, validity, SANs and fingerprints, all running entirely in your browser.
FreeText
SSL Certificate Format Converter
Convert SSL/TLS certificates between PEM and DER encoding, bundle certificates into or extract them from a PKCS#7 (.p7b) file, and package a certificate and private key into a password-protected PKCS#12 (.pfx / .p12) file or extract them back out, all running entirely in your browser.
FreeText
SSL Certificate Viewer
Decode one or more PEM or DER X.509 certificates and view every field in plain language: subject, issuer, validity, fingerprints, public key details, and every standard extension including Key Usage, Subject Alternative Names, and Authority Information Access, all running entirely in your browser.
FreeText
Text Diff Checker
Compare two blocks of text and see exactly what was added, removed, or changed at the line, word, or character level, with a unified or side-by-side view and a downloadable standard diff file, all running entirely in your browser.
FreeText
Text To ASCII Converter
Convert text into its ASCII character codes and back again, with the result also shown in binary, hexadecimal, and octal, all running entirely in your browser with nothing ever uploaded.
Comments (0)
Found this tool useful? Leave a comment, share a tip, or tell us how we can make it better.
No comments yet. Be the first to share your thoughts!