Random Emoji Generator
Generate random emojis instantly. Filter by category, set quantity, copy to clipboard or export as PNG. 1800+ Unicode emojis.
About
The Unicode Standard defines over 1800 emoji codepoints across 10 categories, each mapped to a specific hexadecimal range. Selecting a "random" emoji from this set is not a trivial index operation. The codepoints are non-contiguous, spread across multiple Unicode blocks (Miscellaneous Symbols U+2600 - U+26FF, Emoticons U+1F600 - U+1F64F, Supplemental Symbols U+1FA00 - U+1FA9F, and others). A naive approach using Math.random on a raw codepoint range will produce undefined characters, variation selectors, and ZWJ fragments. This tool maintains a curated, validated array of renderable emoji and applies Fisher-Yates shuffle for statistically unbiased selection.
Category filtering uses pre-indexed subsets, so drawing n emojis from a filtered pool of size k runs in O(n) time. Results can be copied as plain text (space-delimited codepoints) or exported to a PNG canvas at 64ร64 px per glyph. Note: rendering depends on your OS and browser emoji font. Some newer emoji (v15.1) may display as placeholder boxes on older systems.
Formulas
Random emoji selection uses the Fisher-Yates (Durstenfeld) shuffle on the filtered pool, then takes the first n elements. This guarantees uniform distribution without replacement.
j = floor(random() ร (i + 1))
swap arr[i] with arr[j]
Where k = size of the filtered emoji pool, and the first n elements of the shuffled array are returned as the result. The probability of any single emoji appearing in position i is exactly 1k, ensuring no bias.
For the "allow duplicates" mode, each draw is independent: emojii = pool[floor(random() ร k)]. The expected number of unique emojis in n draws follows the Coupon Collector approximation: E[unique] ≈ k โ (1 โ (1 โ 1k)n).
Reference Data
| Category | Unicode Block(s) | Count | Example | Range Start | Range End |
|---|---|---|---|---|---|
| Smileys & Emotion | Emoticons | 163 | ๐ ๐ ๐ฅฐ | U+1F600 | U+1F64F |
| People & Body | Supplemental | 340 | ๐ ๐ค ๐ช | U+1F466 | U+1F4BF |
| Animals & Nature | Misc. Symbols | 152 | ๐ถ ๐ธ ๐ | U+1F400 | U+1F43F |
| Food & Drink | Supplemental | 131 | ๐ ๐บ ๐ฐ | U+1F345 | U+1F37F |
| Travel & Places | Transport/Map | 215 | โ๏ธ ๐๏ธ ๐ผ | U+1F680 | U+1F6FF |
| Activities | Supplemental | 83 | โฝ ๐ฎ ๐ญ | U+1F3A0 | U+1F3FF |
| Objects | Misc. Technical | 233 | ๐ก ๐ฑ ๐ | U+1F4A0 | U+1F4FF |
| Symbols | Misc. Symbols | 217 | โค๏ธ โฎ๏ธ โป๏ธ | U+2600 | U+26FF |
| Flags | Regional Indicators | 258 | ๐บ๐ธ ๐ฏ๐ต ๐ง๐ท | U+1F1E0 | U+1F1FF |
| Component | Skin Tone Mod. | 5 | ๐ป๐ผ๐ฝ๐พ๐ฟ | U+1F3FB | U+1F3FF |
| Supplemental Symbols | Symbols & Pictographs Ext-A | 107 | ๐ฅฝ ๐ช ๐ฉบ | U+1FA70 | U+1FAFF |
| Dingbats | Dingbats Block | 33 | โ โจ โ | U+2700 | U+27BF |
| Mahjong/Domino | Misc. Extended | 5 | ๐ ๐ | U+1F004 | U+1F0CF |
| Zodiac | Misc. Symbols | 12 | โ โ โ | U+2648 | U+2653 |
| Chess Symbols | Misc. Symbols | 12 | โ โ โ | U+2654 | U+265F |