🔒 All processing happens in your browser. No data is sent to any server.
FREE

Unicode Character Search

← All Tools
Search
Enter a U+ codepoint, paste a character, a hex codepoint (0x...), or search by name
Quick Examples

What is Unicode Character Search?

Unicode Search lets you find any Unicode character by name, keyword, or code point. Search for 'snowflake', 'copyright', 'arrow', or 'U+1F600' to find matching characters with their code points, Unicode names, categories, blocks, and HTML entities. Click any character to copy its code point (U+XXXX), HTML entity (&#XXXX;), or raw character for use in code or documents.

Unicode is the universal character encoding standard that covers virtually every writing system, symbol, and emoji used in human communication — over 140,000 characters across 154 scripts. Each character has a unique code point (U+XXXX where X is a hex digit). Unicode organizes characters into blocks (Basic Latin, CJK Unified Ideographs, Emoticons, Mathematical Operators) and categories (Letter, Number, Symbol, Punctuation, Separator).

Unicode in web development: HTML uses decimal entities (☃ = ☃) or hex entities (☃ = ☃) or named entities (© = ©). CSS uses Unicode escapes: content: '\2603'. JavaScript strings are UTF-16 encoded — emoji above U+FFFF require surrogate pairs and have a string length of 2: '😀'.length === 2. Always specify charset=utf-8 in HTML; databases should use utf8mb4 (MySQL) or UTF-8 (PostgreSQL) to support the full Unicode range including emoji.

How to Use

  1. Type a keyword (e.g., 'heart', 'arrow', 'math') to search Unicode character names.
  2. Or type a code point (e.g., U+1F600 or 0x1F600) to find a specific character.
  3. Click any character card to copy the character, code point, HTML entity, or CSS escape.
  4. Filter by block (Basic Latin, Emoji, Greek) or category (Symbol, Letter, Number).
  5. Use the 'Emoji' tab for a visual emoji browser organized by category.

Examples

Find copyright symbol

Result: Search 'copyright' → © U+00A9 / HTML: © / CSS: '\00A9' / UTF-8: 0xC2 0xA9

Find all arrow characters

Result: Search 'arrow' → ←↑→↓↔↕⇐⇑⇒⇓⇔⟵⟶ and 200+ more arrows

Greek alphabet for math

Result: Search 'alpha' → α U+03B1, β U+03B2, γ U+03B3... / Search 'pi' → π U+03C0

Frequently Asked Questions

What is the difference between Unicode and UTF-8?

Unicode is a character set that assigns a unique number (code point) to every character. UTF-8 is an encoding — it specifies how to store those code points as bytes. UTF-8 encodes ASCII characters (U+0000-U+007F) as 1 byte, Latin extended (U+0080-U+07FF) as 2 bytes, most CJK (U+0800-U+FFFF) as 3 bytes, and emoji (U+10000+) as 4 bytes. UTF-16 uses 2 bytes for BMP characters (U+0000-U+FFFF) and 4 bytes for supplementary. UTF-8 is the dominant web encoding.

What is a Unicode surrogate pair?

JavaScript strings are UTF-16 encoded. Characters above U+FFFF (supplementary characters, including most emoji) cannot fit in 16 bits, so they're encoded as surrogate pairs — two 16-bit code units: a high surrogate (U+D800-U+DBFF) followed by a low surrogate (U+DC00-U+DFFF). '😀'.length === 2 and '😀'.charCodeAt(0) === 0xD83D (high surrogate). Use '😀'.codePointAt(0) === 0x1F600 (correct code point). Array.from('😀').length === 1 (correct character count).

How do I use Unicode in Python?

Python 3 strings are Unicode by default (str type is Unicode). No special handling needed for most operations: len('✓') === 1. To get a code point: ord('✓') === 10003. To create from code point: chr(10003) === '✓'. For Unicode normalization (NFC, NFD): import unicodedata; unicodedata.normalize('NFC', text). For regex with Unicode: use the re.UNICODE flag (default in Python 3) and Unicode categories: \w matches Unicode word characters. File I/O: open('file', encoding='utf-8').

What is Unicode normalization and why does it matter?

Unicode normalization addresses the fact that some characters can be represented multiple ways. Example: 'é' can be a single character (U+00E9, composed NFC) or 'e' + combining accent (U+0065 + U+0301, decomposed NFD). They look identical but have different byte representations and different string lengths. This causes: string comparison failures (é != é), search mismatches, and incorrect text operations. Normalize to NFC (composed, preferred for most uses) before comparing, storing, or indexing Unicode text.

What is the Unicode Private Use Area (PUA)?

The Unicode Private Use Area (U+E000-U+F8FF, plus supplementary PUAs) consists of code points that Unicode deliberately leaves unassigned — third parties can use them for custom characters without conflicting with the Unicode standard. Common uses: corporate logo characters (Apple's logo is U+F8FF in macOS's Apple-specific font), icon fonts (Font Awesome maps icons to PUA code points), and application-specific symbols. PUA characters have no universal meaning — they only render correctly with the specific font that maps them.

Related Tools