Text Faces
Copy popular text faces — kaomoji, shrug, Lenny-style faces, bears and more.
Copy the most popular text faces
This is a quick grab-bag of the most useful text faces. Click any of them to copy. Below, the full library is searchable and browseable by mood (happy, sad, love, animals, table flip and more).
Top text faces, and where each one comes from
- Shrug ¯\_(ツ)_/¯: Latin punctuation + one Japanese katakana character (ツ). See the full Unicode breakdown.
- Lenny ( ͡° ͜ʖ ͡°): Latin punctuation + IPA phonetic letter (ʖ) + Unicode combining diacritics — a 2012 Western internet invention, not classic Japanese kaomoji. See the full origin story.
- Table flip (╯°□°)╯︵ ┻━┻: box-drawing characters (built for terminal UI borders) repurposed as furniture. See the Unicode breakdown.
- Bear ʕ•ᴥ•ʔ: curly brackets from the Miscellaneous Technical block plus a phonetic 'ᴥ' symbol for the nose.
- Happy \(^o^)/: full-width backslash/slash (CJK punctuation) framing a classic Japanese kaomoji smile.
- Crying (ಥ﹏ಥ): Kannada script characters (ಥ) used purely for their teardrop shape, with no linguistic meaning intended.
- Cool (⌐■_■): the 'not sign' (⌐) doubling as a sunglasses lens — a favorite in retro internet meme culture.
- Disapproval ಠ_ಠ: another Kannada-script borrow (ಠ), used for its heavy-lidded, judging eye shape.
- Smirk (¬‿¬): the logical-NOT sign (¬) for closed, sly eyes.
- Heart eyes (♥ω♥): the classic Unicode heart (♥, U+2665) plus the Greek omega (ω) used purely as a small open-mouth shape.
Text face vs emoji vs kaomoji — the actual difference
- Text face / ASCII emoticon: umbrella term for any face built from ordinary text characters — includes both Japanese-style kaomoji and Western inventions like the Lenny face.
- Kaomoji (顔文字): specifically the Japanese tradition of upright text faces, dating to 1980s Japanese BBS culture.
- Emoji: single Unicode pictograph characters (😀, 🤷) standardized by the Unicode Consortium since 2010 — a completely different technology from text faces, even though people often use the words interchangeably.
- In practice: every kaomoji is a text face, but not every text face is a kaomoji (Lenny face is the clearest exception), and no text face is technically an emoji.
Rendering risk: which faces are most likely to break
Not all text faces are equally safe across old software and narrow fonts. As a rule, the more a face relies on combining diacritical marks (accents that fuse onto the character before them, rather than standalone symbols) the more likely it is to render oddly in an incomplete font:
- Low risk — faces built from plain punctuation and common CJK characters: ¯\_(ツ)_/¯, \(^o^)/, (╯°□°)╯︵ ┻━┻. These render correctly on essentially every device made in the last decade.
- Medium risk — faces using less common script borrows: ʕ•ᴥ•ʔ, ಠ_ಠ, (ಥ﹏ಥ). Rare on very old feature phones, otherwise fine.
- Higher risk — faces built with Unicode combining marks: ( ͡° ͜ʖ ͡°) and its variants. These can render with the accents slightly detached from their base character in narrow or incomplete monospace fonts. See the Lenny face page for the exact platform-by-platform breakdown.
Picking a text face by what you actually need
- Need it to survive a code comment or terminal: ¯\_(ツ)_/¯ or ┬─┬ノ( º _ ºノ) — low-risk characters, no combining marks.
- Need maximum comic effect in casual chat: (╯°□°)╯︵ ┻━┻ or ( ͡° ͜ʖ ͡°) — both are visually distinctive and widely recognized.
- Need something soft and friendly: ʕ•ᴥ•ʔ or (♥ω♥) — read as warm rather than sarcastic or deadpan.
- Need it to work on the oldest possible device: ಠ_ಠ or ¬_¬-style faces built from single, common Unicode blocks rather than combining marks.
Text faces vs custom AI-generated emoji
Newer tools like Apple's Genmoji (introduced in iOS 18.2, December 2024) let you generate a custom, personalized emoji-style image from a text description. It's a genuinely different technology from anything on this page — Genmoji produces an image file tied to a specific device ecosystem, while every text face here is made from plain Unicode characters and remains usable in environments with no image support. Font coverage, spacing, and markup escaping can still affect the exact result. The two aren't competitors so much as tools for different jobs: a generated image for a highly specific, personal visual joke; a text face for something that needs to paste cleanly into a terminal, a code comment, or a cross-platform document years from now.
Which Unicode blocks text faces actually borrow from
None of the characters in a text face were designed to build faces — every one of them was standardized for an unrelated purpose, and kaomoji culture repurposed their shapes. Knowing the source block explains why some faces are rock-solid everywhere and others occasionally break:
- Basic Latin / Latin-1 punctuation (parentheses, underscore, colon, hyphen): the oldest and most universally supported block in Unicode — any face built only from these (classic
:)or¬_¬) will render correctly on essentially any text system built since the 1980s. - CJK compatibility forms (fullwidth macron  ̄, fullwidth backslash \): designed so East Asian typesetting could keep consistent character widths in vertical or fullwidth text layout — not for faces at all. Fonts without CJK glyph coverage are the one place these can fail.
- Miscellaneous Technical block (⌐, ʖ, and the bracket shapes used in bear faces): originally intended for mathematical and engineering notation, not typography — well supported on modern systems, occasionally missing on very old or minimal fonts.
- Kannada and other non-Latin scripts (ಠ, ಥ): borrowed purely for their visual shape (a heavy-lidded eye, a teardrop) with zero linguistic meaning intended — supported wherever a font ships broad multilingual coverage, which is the default on every phone and desktop OS today.
- Combining diacritical marks (the accents in ( ͡° ͜ʖ ͡°)): technically meant to be layered onto a base letter to form accented characters in real languages (like é or ñ) — kaomoji abuse this layering to stack extra visual detail onto a single glyph, which is exactly why these faces are the most likely of any text face to render with the marks slightly offset in narrow or older fonts.
FAQ
What are text faces?
Text faces — also called kaomoji or ASCII emoticons — are faces and gestures drawn from text characters, like ¯\_(ツ)_/¯ or ( ͡° ͜ʖ ͡°). Because they're text, they look the same on every app, OS and device.
How are text faces different from emoji?
Picture emoji (😀, 🤷) are rendered by the platform — they can change appearance between iPhone, Android and Windows. Text faces are characters; they always render exactly the same.
Where do text faces come from?
Most originated in Japanese kaomoji culture (read upright, not tilted), then spread worldwide through Reddit, forums and IRC. A few, like the Lenny face, are Western internet inventions (2012, via 4chan and Reddit) that borrow the same 'characters as a face' idea but use different Unicode blocks.
Which text face is safest to paste anywhere, including old software?
Faces built only from basic ASCII punctuation — :) :( :P — are the safest of all, since every text system since the 1980s supports plain ASCII. Among the faces on this page, the plain shrug variant \_(•_•)_/ and the disapproval face ಠ_ಠ are close seconds: they use single, well-supported code points rather than the combining diacritics that can break in older or narrower fonts (see the Lenny face render notes below).
Can I search for a text face by feeling instead of browsing categories?
Yes — the search box in the tool below matches on mood keywords (try 'confused', 'love', 'angry') as well as the character itself, so you don't need to know which category a face lives in to find it.