Skip to content

Kaomoji: the expressive faces that never break

August 4, 2026 · Atta ✨

Quick answer

Kaomoji are Japanese-style text faces like ¯\_(ツ)_/¯ and (╯°□°)╯︵ ┻━┻, built from Unicode characters instead of emoji artwork, so they render identically everywhere. They cannot be typed on a normal keyboard, which is why everyone copy-pastes them; the free Emoji Anywhere extension lets you type :shrug: or :tableflip: in any text field instead.

Before emoji were pictures, they were punctuation. Western keyboards in the eighties produced :-) and its cousins, faces you read sideways with three characters of vocabulary. Japanese internet users, working with keyboards that could reach thousands of characters, went a different way: faces you read straight on, with actual range. (^_^) for happy. (T_T) for crying, the T’s doing the work of closed eyes with tears running down. And eventually, assembled from a macron, a katakana character and some slashes, the masterpiece the whole internet settled on for organized resignation:

¯\_(ツ)_/¯

These are kaomoji, “face characters”, and they were supposed to die three separate times: when emoticons went mainstream, when emoji arrived on phones, and when every chat app grew a picker. They are still here. There are reasons.

Why they refuse to die

They render identically everywhere, forever. An emoji is not a character so much as a request: your 😅 is drawn by your reader’s platform, in that platform’s art style, and on an old system it may arrive as a hollow box. A kaomoji is plain text. It looks exactly the same in a terminal, a commit message, an SMS, a legal document, a forum from 1998 and whatever we are all using in ten years. Nothing that depends on a vendor’s font can say that.

They hold tones that emoji never captured. There is no emoji with the specific energy of (╯°□°)╯︵ ┻━┻, and there never will be, because half the joke is the table. ಠ_ಠ carries a very particular flavor of disappointment that 😒 only gestures at; the character is a letter from the Kannada script, which is doing look-of-disapproval duty purely because of its shape, and somehow that makes it funnier. Kaomoji read as a register: drier, nerdier, more deliberate than emoji. Sometimes that register is exactly right.

They work where emoji are risky or banned. Code comments, plain-text email, systems that mangle Unicode emoji but pass basic characters fine. The kaomoji was born on constrained systems and still thrives on them.

The problem, and the missing arm

Nobody can type them. The shrug alone contains seven characters drawn from four different writing systems; ツ is the katakana syllable “tsu”, smiling away in the middle of a face assembled around it. There is no keyboard on earth where these are keys.

So the entire kaomoji economy runs on copy-paste, and the copy-paste has a famous failure mode: the missing arm. The shrug’s left arm is the sequence ¯\_, a macron followed by a backslash. In half the places you paste it, something interprets that backslash as an escape character and eats it, and your shrug arrives as ¯_(ツ)_/¯, one arm gone, dignity with it. Markdown does this. Slack sometimes does this. Discord does this with feeling. People who post kaomoji regularly learn to double the backslash in some apps and not others, which is a ridiculous piece of knowledge to need for a face.

The other solved-badly options: OS text replacements work on one machine until they mysteriously do not sync, and the Windows emoji panel (Win + .) actually has a kaomoji tab that nobody has ever found on purpose.

Typing them instead

Emoji Anywhere treats kaomoji as first-class citizens next to emoji. In any text field in your browser, type the colon and the name:

  • :shrug: → ¯\_(ツ)_/¯, arms intact, escaped correctly for the field you are in
  • :tableflip: → (╯°□°)╯︵ ┻━┻
  • :unflip: → ┬─┬ ノ( ゜-゜ノ), for after you have made your point
  • :lenny: → ( ͡° ͜ʖ ͡°)
  • :disapproval: → ಠ_ಠ

The set has 276 kaomoji and text symbols across happy, sad, angry, smug, animals and actions, plus the practical characters that live in the same “cannot type it, keep googling it” bucket: :emdash: for a real —, :arrow: for →, :degree: for °. The full gallery is here, click-to-copy for the characters you only need once, searchable by name for everything.

The escaping problem is handled for you, and this is the part I am quietly proudest of: the extension inserts text through each site’s own editor machinery rather than pasting into the page, so the backslash survives Facebook’s editor, X’s composer and everything else that normally eats it. The shrug arrives with both arms. Every time.

Anything you have copy-pasted more than twice is something you should be able to type. That is the entire idea of the extension, it covers emoji and kaomoji alike, and it is free. ¯\_(ツ)_/¯ deserved better than a missing arm, and now it has it.

Your keyboard already knows what you mean

Free, 280 KB, no account. Two letters from now you will never open an emoji panel again.

Add to Chrome · free