Unicode / Character Code Cross-Reference
Free tool that shows a character's Unicode code point, UTF-8 byte sequence, and JavaScript/HTML/URL/CSS escape representations side by side. Everything runs in your browser.
Code reference table for common characters
| Character | Code Point | UTF-8 | Note |
|---|---|---|---|
| A | U+0041 | 41 | Uppercase letter (ASCII, 1 byte) |
| 0 | U+0030 | 30 | Digit (ASCII, 1 byte) |
| ␣ | U+0020 | 20 | Space character (ASCII, 1 byte) |
| ! | U+0021 | 21 | Exclamation mark (ASCII symbol, 1 byte) |
| @ | U+0040 | 40 | At sign (ASCII symbol, 1 byte) |
| © | U+00A9 | C2 A9 | Copyright sign (Latin-1 Supplement, 2 bytes) |
| € | U+20AC | E2 82 AC | Euro sign (3 bytes) |
| → | U+2192 | E2 86 92 | Right arrow (Arrows block, 3 bytes) |
| あ | U+3042 | E3 81 82 | Hiragana character (3 bytes) |
| 漢 | U+6F22 | E6 BC A2 | CJK Unified Ideograph (3 bytes) |
| 한 | U+D55C | ED 95 9C | Hangul syllable (3 bytes) |
| 😀 | U+1F600 | F0 9F 98 80 | Emoji (outside the BMP, 4 bytes, encoded as a surrogate pair in JS) |
Tips
- You can enter more than one character; each one gets its own result block below the input field.
- Emojis like 😀 fall outside Unicode's Basic Multilingual Plane (BMP, U+0000–U+FFFF), so JavaScript strings represent them internally as two code units (a surrogate pair) — that's why the "JavaScript Escape" row shows two `\uXXXX` sequences.
- A CSS escape like `\41` writes the code point in hex without any prefix. Add a trailing space when the next character could otherwise be read as part of the hex digits.
- Browsers treat decimal (`A`) and hex (`A`) HTML entities identically — pick whichever is more convenient for your markup.
- Use the copy button on each row to grab a value straight into your clipboard for pasting into code or CSS.
Frequently Asked Questions
Side Note — How Unicode unified a fragmented world of character encodings
Before Unicode existed, computer character encodings varied wildly from country to country and even language to language. Japanese text alone had several competing schemes — Shift_JIS, EUC-JP, and JIS code among them — and exchanging text between systems that used different encodings frequently produced garbled, unreadable characters (often called "mojibake"). Unicode 1.0, published in 1991, set out to solve this by assigning a single code point to every character used anywhere in the world.
Unicode and the ISO/IEC 10646 international standard were developed somewhat independently at first, but later coordinated so that they share the same repertoire of characters and code point assignments. Today Unicode covers well over 150,000 characters, including emoji, and a new version is published every year adding more.
UTF-8 was designed in 1992 by Ken Thompson and Rob Pike. Its breakthrough was full backward compatibility with plain ASCII text while still being able to represent every Unicode character — a design that turned out to be exactly what the web needed, and it has since become the de facto standard encoding for documents on the internet.