See the Unicode code point of every character and get the same text as HTML entities, JavaScript escapes, URL encoding and Base64. Useful for spotting hidden characters and for embedding symbols in code.
Unicode code points (U+XXXX)
U+0048 U+0069 U+0020 U+2713
HTML entities (decimal)
Hi ✓
HTML entities (hex)
Hi ✓
JavaScript / JSON escapes
\u0048\u0069\u0020\u2713
URL encoded
Hi%20%E2%9C%93
Base64 (UTF-8)
SGkg4pyT
Hex bytes of code points
48 69 20 2713
Decimal code points
72 105 32 10003
Every character in Unicode has a code point β a number written as U+ followed by hexadecimal, such as U+0041 for "A" or U+2713 for "β". This converter shows the code point of each character in your text and rewrites the text in the escape formats used by HTML, JavaScript, JSON, URLs and Base64, so you can paste a symbol into code without worrying about encoding.
It is also the quickest way to find invisible characters: a zero-width space shows up as U+200B, a non-breaking space as U+00A0, and a fancy Unicode letter reveals its mathematical-alphanumeric code point.
HTML entities (✓ or ✓) work in any HTML file regardless of its charset declaration. JavaScript escapes (\u2713, or \u{1F600} for characters beyond U+FFFF) go inside string literals in JS, TypeScript and JSON. URL encoding (%E2%9C%93) is required when a symbol appears in a query string or path. Base64 encodes the UTF-8 bytes and is used in data URLs, email and API payloads.
When a string fails a comparison, a URL 404s, or text pastes with a stray gap, an invisible or look-alike character is often the cause. Paste the text here and scan the code points: U+200B (zero-width space), U+200D (zero-width joiner), U+FEFF (byte-order mark) and U+00A0 (non-breaking space) are the usual suspects. Cyrillic "Π°" (U+0430) looks identical to Latin "a" (U+0061) β a classic source of confusing bugs and phishing domains.
Paste a "fancy font" string such as ππΌπΉπ± and you will see it is made of characters from the Mathematical Alphanumeric Symbols block (U+1D400βU+1D7FF), not formatting. That is why it survives copy and paste and why screen readers may read it letter by letter. The converter is a handy way to check what a decorated username actually contains.
A code point is the abstract number of a character; bytes are how it is stored in a particular encoding. In UTF-8, "A" is one byte, "Γ©" is two, "β" is three and most emoji are four. The hex and decimal rows here show code points, not UTF-8 bytes; the Base64 row encodes the UTF-8 bytes. Characters above U+FFFF (emoji, some symbols) are single code points but two UTF-16 units, which is why JavaScript uses the \u{β¦} form for them.
20 font styles, 5000+ symbols and a full Unicode text editor. Everything runs in your browser and your text never leaves your device.