Emoji Picker — Free Online Tool

Search and copy emojis by name or category. 3600+ Unicode emojis: smileys, animals, food, travel, flags. Click to copy. Emoji codes, shortcodes, keywords.

Use this free online Emoji Picker directly in your browser. No signup required, no data leaves your device. Part of Utilier — a collection of 133+ developer utilities.

What is Emoji Picker & Search (Unicode, Copy-Paste)?

Emoji picker provides searchable database of 3600+ Unicode emojis (smileys 😀, animals 🐶, food 🍕, travel ✈️, symbols 💡, flags 🇺🇸). Search by name (search 'heart' → ❤️ 💙 💚), category (Food & Drink), or keyword (search 'happy' → 😊 😁 🎉). Click emoji to copy to clipboard (one-click copy). Shows emoji metadata: Unicode codepoint (U+1F600), shortcode (:grinning:), keywords (face, smile, happy), skin tone variants (👍 → 👍🏻 👍🏼 👍🏽 👍🏾 👍🏿). Useful for: social media posts (Twitter, Discord, Slack), messaging (WhatsApp, Telegram), documentation (GitHub README), web development (HTML entity, Unicode escape), emails, text messages. Works offline (no API), supports all Unicode 15.0 emojis (latest standard).

  • 3600+ Unicode emojis: Complete Unicode 15.0 emoji set: Smileys & People (😀😁😂), Animals & Nature (🐶🐱🌸), Food & Drink (🍕🍔🍰), Travel & Places (✈️🏖️🏙️), Activities (⚽🎮🎨), Objects (📱💻📚), Symbols (❤️💡✅), Flags (🇺🇸🇬🇧🇯🇵).
  • Smart search: Search by name (heart), keyword (love, romance), shortcode (:heart:), or Unicode (U+2764). Fuzzy search (typ 'happi' → matches 'happy' emojis). Category filter (Animals only).
  • One-click copy: Click emoji → copied to clipboard instantly. Paste anywhere: Twitter, Discord, Slack, WhatsApp, emails, code comments. No typing Unicode codes manually.
  • Skin tone variants: Hand emojis support 5 skin tones (Fitzpatrick scale): 👍 (default yellow), 👍🏻 (light), 👍🏼 (medium-light), 👍🏽 (medium), 👍🏾 (medium-dark), 👍🏿 (dark). People emojis: 👨 → 👨🏻 👨🏼 👨🏽 👨🏾 👨🏿.
  • Emoji metadata: Shows Unicode codepoint (U+1F600), HTML entity (😀), shortcode (:grinning:), keywords (face, smile, happy), category (Smileys & Emotion). Useful for developers (HTML, CSS, JavaScript).

Why use emoji picker?

Finding and typing emojis is tedious (OS emoji pickers are limited, Unicode codes are hard to remember). This tool makes emoji search and copy instant.

  • Faster than OS emoji pickers: Windows emoji picker (Win + .), macOS emoji viewer (Ctrl + Cmd + Space) are slow, limited search. This tool: instant search, shows all emojis, one-click copy.
  • Cross-platform consistency: Works on Windows, macOS, Linux, mobile. No OS-specific keyboard shortcuts. Same interface everywhere. Emojis display consistently (Unicode standard).
  • Search by meaning, not name: Search 'sad' → 😢😭😞 (don't need to know exact emoji name). Search 'celebrate' → 🎉🎊🥳. Keyword-based search matches intent.
  • Developer-friendly metadata: See Unicode codepoint (U+1F600), HTML entity (😀), CSS escape (\1F600), JavaScript escape (\uD83D\uDE00). Copy code for web development.
  • Skin tone support: OS emoji pickers often lack skin tone selection. This tool shows all 5 Fitzpatrick tones for hands, people, gestures. One-click copy specific tone.
  • Works offline: No API calls, no internet required. All emojis stored locally. Fast, private, always available.

When to use emoji picker

Use whenever you need to insert emojis into text.

  • Social media posts (Twitter, Instagram, Facebook: add 😊 🎉 ❤️ to captions).
  • Messaging apps (Discord, Slack, WhatsApp: reactions, messages, custom emojis).
  • Documentation (GitHub README, Markdown files: ✅ ❌ 💡 📚 for visual cues).
  • Web development (HTML entity codes, CSS content property: content: '\1F600';).
  • Email subject lines or signatures (📧 💼 ✨ to stand out in inbox).
  • Code comments (// TODO: 🚧 Fix this later, // SUCCESS: ✅ Works great!).
  • Presentations or documents (PowerPoint, Google Docs: 📊 📈 🎯 for emphasis).
  • Finding Unicode codepoints for development (emoji fonts, custom rendering).

How to use emoji picker

Search for emoji, click to copy, paste anywhere.

  1. Search for emoji: Type keyword in search box: 'heart' (finds ❤️ 💙 💚), 'dog' (finds 🐶 🐕 🦮), 'pizza' (finds 🍕). Or browse by category: Smileys & Emotion, Animals & Nature, Food & Drink.
  2. Filter by category (optional): Click category button: Smileys (😀), Animals (🐶), Food (🍕), Travel (✈️), Activities (⚽), Objects (📱), Symbols (❤️), Flags (🇺🇸). Shows only emojis in that category.
  3. Select skin tone (if applicable): For hand/people emojis, click skin tone selector: 👍 (default), 👍🏻 (light), 👍🏼 (medium-light), 👍🏽 (medium), 👍🏾 (medium-dark), 👍🏿 (dark). Applies to all hand/people emojis.
  4. Click emoji to copy: Click any emoji → copied to clipboard instantly. Confirmation message: 'Copied ✅'. No manual Ctrl+C needed.
  5. Paste emoji: Paste anywhere (Ctrl+V or Cmd+V): Twitter, Discord, Slack, WhatsApp, email, code editor, Word document. Emoji appears as Unicode character.
  6. View metadata (optional): Hover over emoji to see details: Unicode (U+1F600), HTML (😀), shortcode (:grinning:), keywords (face, smile, happy). Copy code for web development.
  7. Use shortcodes: Some platforms (Slack, Discord, GitHub) support shortcodes: :heart: → ❤️, :pizza: → 🍕, :rocket: → 🚀. Copy shortcode instead of emoji.

Key features

  • 3600+ emojis: Complete Unicode 15.0 set: smileys, animals, food, travel, flags, symbols. Regularly updated with new Unicode releases.
  • Instant search: Search by name, keyword, shortcode, Unicode. Fuzzy search (matches partial keywords). Category filter (Animals only, Flags only).
  • One-click copy: Click emoji → clipboard. Paste anywhere. No typing Unicode codes. Works on all platforms (Windows, macOS, Linux, mobile).
  • Skin tone variants: 5 Fitzpatrick skin tones for hands, people, gestures: 👍🏻 👍🏼 👍🏽 👍🏾 👍🏿. Select once, applies to all applicable emojis.
  • Emoji metadata: Unicode codepoint (U+1F600), HTML entity (😀), CSS escape (\1F600), JavaScript escape (\uD83D\uDE00), shortcode (:grinning:), keywords.
  • Category browsing: 8 categories: Smileys & Emotion, Animals & Nature, Food & Drink, Travel & Places, Activities, Objects, Symbols, Flags. Browse all emojis in category.
  • Offline support: No internet required. All emojis stored locally. Fast, private, always available.

Common use cases

  • Social media captions: Add emojis to tweets, Instagram captions, Facebook posts. Example: 'Great day at the beach! ☀️🏖️🌊' or 'New blog post! 📝✨ Check it out! 🚀'. Increases engagement.
  • Discord/Slack reactions: React to messages with emojis: ✅ (approve), ❌ (reject), 🎉 (celebrate), 👀 (looking), 🔥 (fire). Custom emoji reactions not available? Use Unicode emojis.
  • GitHub README: Add visual cues to documentation: ✅ Features, ❌ Not supported, 🚧 In progress, 📚 Documentation, 💡 Tips, ⚠️ Warning. Makes README more readable.
  • Email subject lines: Stand out in inbox: '🎉 Big sale this weekend!', '📧 New message from support', '✅ Your order has shipped!'. Higher open rates.
  • Code comments: // TODO: 🚧 Refactor this function later, // BUG: 🐛 Crashes on invalid input, // SUCCESS: ✅ All tests pass, // IMPORTANT: ⚠️ Security risk here. Visual markers for code review.
  • Web development: HTML: <span>&#x1F600;</span> (😀), CSS: content: '\1F600'; (::before pseudo-element), JavaScript: const emoji = '\uD83D\uDE00'; (😀). Copy Unicode codes from tool.

Examples

Common emoji searches and use cases.

Search by emotion (happy)

Search: 'happy'
Results: 😀 (grinning face), 😊 (smiling face with smiling eyes), 😁 (beaming face), 🎉 (party popper), 🥳 (partying face), 😄 (grinning face with smiling eyes)

Keyword search matches emotion, not just emoji name. Finds all emojis related to 'happy' (smiles, celebrations).

Category browsing (Food & Drink)

Filter: Food & Drink category
Results: 🍕 (pizza), 🍔 (hamburger), 🍰 (cake), 🍺 (beer mug), ☕ (hot beverage), 🍎 (red apple), 🥗 (green salad), 🍣 (sushi), 🍜 (steaming bowl)

Browse all 120+ food/drink emojis. Useful when unsure of exact name (browse to find emoji).

Skin tone variants (thumbs up)

Emoji: 👍, Skin tone: medium
Result: 👍🏽 (thumbs up: medium skin tone, U+1F44D + U+1F3FD)

Select skin tone once → applies to all applicable emojis (hands, people, gestures). Unicode combines base emoji + modifier.

HTML entity for web development

Emoji: 😀 (grinning face)
HTML: &#x1F600;, Decimal: &#128512;, Unicode: U+1F600, CSS: \1F600, JavaScript: \uD83D\uDE00

Copy code for use in HTML, CSS, JavaScript. Example: <p>Hello &#x1F600;</p> or content: '\1F600'; in CSS.

Shortcode for Slack/Discord

Emoji: 🚀 (rocket)
Shortcode: :rocket:, Unicode: U+1F680

Slack/Discord convert :rocket: → 🚀 automatically. GitHub README also supports shortcodes. Copy shortcode instead of emoji.

Technical reference

Emoji technical details (Unicode, HTML, shortcodes):

Unicode version
Unicode 15.0 (latest standard, Sept 2022). 3600+ emojis. New emojis added yearly (Unicode 16.0 in 2024). Backwards compatible (old emojis still work).
Unicode codepoint
Unique identifier: U+1F600 (😀), U+2764 (❤️), U+1F680 (🚀). Range: U+1F300–U+1F9FF (Miscellaneous Symbols), U+1F600–U+1F64F (Emoticons), U+1F680–U+1F6FF (Transport).
HTML entity
Decimal: &#128512; (😀) or hex: &#x1F600; (😀). Use in HTML: <p>Hello &#x1F600;</p>. Older browsers may not render (fallback to text).
CSS escape
CSS content property: content: '\1F600'; (😀). Use in ::before, ::after pseudo-elements. Example: .icon::before { content: '\1F680'; } (🚀).
JavaScript escape
String: const emoji = '\uD83D\uDE00'; (😀). Emojis outside BMP (Basic Multilingual Plane) use surrogate pairs (\uD83D\uDE00 = U+1F600). ES6: const emoji = '\u{1F600}';.
Shortcodes
Text alias: :grinning: (😀), :heart: (❤️), :rocket: (🚀). Supported by: Slack, Discord, GitHub, GitLab. Platform-specific (not Unicode standard).
Skin tone modifiers
Fitzpatrick scale: U+1F3FB (🏻 light), U+1F3FC (🏼 medium-light), U+1F3FD (🏽 medium), U+1F3FE (🏾 medium-dark), U+1F3FF (🏿 dark). Append to emoji: U+1F44D + U+1F3FB = 👍🏻.
Zero-width joiner (ZWJ)
Combine emojis: 👨 (man) + ZWJ + 👩 (woman) + ZWJ + 👧 (girl) = 👨‍👩‍👧 (family). ZWJ = U+200D. Creates compound emojis (family, couple, profession).
Variation selector
U+FE0F forces emoji presentation (color). Example: ❤ (text) + U+FE0F = ❤️ (emoji). Some symbols default to text (♠ → ♠️ with U+FE0F).
Browser support
Modern browsers render all emojis (Chrome, Firefox, Safari, Edge). Older browsers (IE11) may show squares (□). Mobile devices (iOS, Android) support all emojis natively.

Common mistakes to avoid

Copying emoji as image instead of Unicode character (pasting doesn't work in plain text)

Why it happens: Some emoji pickers (older tools) copy emoji as image file, not Unicode text. Pasting in plain text fields (Twitter, code editor) doesn't work (image not supported).

How to avoid it: Use this tool (copies Unicode character). Test: paste in plain text editor (Notepad, TextEdit). Should see emoji, not [image] placeholder. Unicode emojis work everywhere.

Using emojis in URLs or file names (breaks on some systems)

Why it happens: URLs must be ASCII (emojis are Unicode, get URL-encoded: 😀 → %F0%9F%98%80). File names with emojis may not work on older file systems (NTFS on Windows, ext3 on Linux). Confusing URLs.

How to avoid it: Avoid emojis in URLs (use slugs: /blog/happy-post not /blog/😀). File names: use ASCII (happy-face.png not 😀.png). Emojis are for content, not identifiers.

Assuming all platforms render emojis the same (platform-specific differences)

Why it happens: Emoji rendering varies by platform: Apple (iOS/macOS), Google (Android), Microsoft (Windows), Twitter (Twemoji). Same Unicode emoji looks different across platforms. Color, style, design vary.

How to avoid it: Accept platform differences (users see their platform's emoji style). For consistent branding, use emoji fonts (Twemoji, Noto Emoji) on websites. Emojis are Unicode, rendering is platform-specific.

Using skin tone modifiers on non-human emojis (doesn't work)

Why it happens: Skin tone modifiers (🏻-🏿) only work on human-related emojis (hands, people, gestures). Doesn't work on animals (🐶🏻 = 🐶🏻, displays separately), food, objects. Unicode spec defines which emojis support skin tones.

How to avoid it: Check if emoji supports skin tones (usually hands, people). Tool shows skin tone selector only for applicable emojis. Non-human emojis don't have skin tone variants.

Forgetting variation selector (❤ shows as text ♥ instead of emoji ❤️)

Why it happens: Some symbols default to text presentation (❤, ☀, ☁). Need variation selector U+FE0F for emoji style: ❤ + U+FE0F = ❤️. Without U+FE0F, renders as monochrome text.

How to avoid it: This tool includes U+FE0F automatically when copying. If manually typing Unicode, add U+FE0F after symbol: ❤️ = U+2764 U+FE0F. Check if emoji displays in color.

Frequently asked questions

Why do emojis look different on different devices?

Emoji rendering is platform-specific. Apple, Google, Microsoft, Samsung each design their own emoji fonts. Same Unicode (U+1F600) looks different on iOS vs Android. Emojis are characters (like 'A'), rendering is font-specific.

What is the difference between emoji and emoticon?

Emoticon = text-based (:-) :P ^_^). Emoji = Unicode character (😀 🎉 ❤️). Emoticons are typed (ASCII characters), emojis are inserted (Unicode codepoints). Emojis are standardized, emoticons vary.

Can I use emojis in email subject lines?

Yes! Most email clients support emojis (Gmail, Outlook, Apple Mail). Emojis in subject lines increase open rates (stand out in inbox). Avoid overuse (looks spammy). Test across clients (some may not render).

How do I use emojis in HTML?

Use HTML entity: &#x1F600; (😀) or &#128512; (😀). Or paste emoji directly (if file is UTF-8). Add charset: <meta charset='UTF-8'>. Modern browsers support both methods.

What are ZWJ sequences (zero-width joiner)?

ZWJ (U+200D) combines emojis: 👨 + ZWJ + 👩 + ZWJ + 👧 = 👨‍👩‍👧 (family). Creates compound emojis (couples, families, professions). Not all platforms support all ZWJ sequences (may show separate emojis).

Why do some emojis not display on older devices?

Older devices don't support latest Unicode (e.g., iOS 10 doesn't support Unicode 13.0 emojis). New emojis added yearly (Unicode updates). Update OS to see new emojis. Old emojis display as □ (missing character).

Can I create custom emojis?

No custom Unicode emojis (Unicode Consortium controls). But: platforms like Discord, Slack allow custom emoji uploads (server-specific, not Unicode). Use images as 'emojis' (not Unicode standard).

References

Privacy and availability

  • Runs entirely in your browser — zero server processing
  • No signup or account required
  • Works offline once loaded
  • Fast, lightweight, no external dependencies
  • Available as a browser extension for Chrome and Firefox