Random Emoticons Generator
Generate random text emoticons (kaomoji) from 500+ curated faces. Filter by mood, copy instantly, and discover fun ASCII art expressions.
About
Text emoticons (kaomoji) originated in Japanese internet culture during the 1980s and remain the universal language of expressive plain-text communication. Unlike graphical emoji, kaomoji render identically across every platform, terminal, and text field. This generator draws from a curated set of over 500 emoticons spanning 12 mood categories. Selection uses a Fisher-Yates shuffle to guarantee uniform distribution - each emoticon has an equal 1n probability of appearing, where n is the pool size for the active filter. No pseudo-random clustering artifacts.
Practical applications include social media posts, commit messages, documentation humor, chat responses, and UI placeholder content. The tool enforces uniqueness within a single generation batch to avoid duplicates. Pro tip: "Table Flip" and "Shrug" categories are disproportionately useful in Slack channels. Note: some complex kaomoji use Unicode combining characters that may render inconsistently on legacy systems (Windows 7 and earlier).
Formulas
Each emoticon in the active pool has a uniform selection probability:
where Npool is the number of emoticons in the selected category (or the full set of 500+ if "All" is chosen), and ei is any individual emoticon.
Batch uniqueness is enforced. For a requested batch size k, the generator performs sampling without replacement. The number of possible unique batches is given by the binomial coefficient:
The Fisher-Yates (Knuth) shuffle algorithm is used internally. It runs in O(k) time by only shuffling the first k elements of a copy of the pool array, yielding an unbiased permutation sample.
Reference Data
| Category | Example | Count | Origin / Notes |
|---|---|---|---|
| Happy | (◕‿◕) | 55+ | Most common kaomoji family; uses parenthetical framing |
| Sad | (╥﹏╥) | 40+ | Crying variants use box-drawing characters for tears |
| Love | (♥‿♥) | 35+ | Heart symbols from Unicode Block "Dingbats" U+2764 |
| Angry | (╬ Ò﹏Ó) | 40+ | Cross-popping vein (╬) is a manga convention |
| Surprised | (⊙_⊙) | 30+ | Wide-eye variants; circled dot U+2299 |
| Shrug | ¯\_(ツ)_/¯ | 20+ | "Smugshrug" - the internet's universal disclaimer |
| Table Flip | (╯°□°)╯︵ ┻━┻ | 25+ | Uses box-drawing chars; always paired with ┬─┬ restore |
| Animals | (=^・ω・^=) | 45+ | Cat faces dominate; dog variants are rarer |
| Food | (っ˘ڡ˘ς) | 20+ | Drooling/eating motifs |
| Music | ♪(´ε` ) | 20+ | Musical note U+266A, eighth note U+266B |
| Confused | (⊙_◎) | 30+ | Asymmetric eyes signal disorientation |
| Cool / Sunglasses | (⌐■_■) | 25+ | Block element U+25A0 for sunglasses lenses |
| Disapproval | ಠ_ಠ | 20+ | Kannada letter "tha" (U+0CA0); "Look of Disapproval" |
| Magic / Sparkle | (ノ◕ヮ◕)ノ*:・゚✧ | 25+ | Sparkle chars from Dingbats block |
| Fighting | (ง •̀_•́)ง | 20+ | Thai character "sara am" for fists |
| Bear | ʕ•ᴥ•ʔ | 15+ | Pharyngeal fricative chars ʕ ʔ form bear ears |
| Wink | (^_~) | 20+ | Tilde as closed eye; common in early Japanese BBS |
| Sleeping | (-.-)Zzz | 15+ | Z-chain convention from American comics |