/SHRUG EMOJI · EMOJI COMBOS · TEXT FACES
The shrug emoji is right here. Press Copy the shrug to take the one on show, or click any variant below to copy that one straight away.
Nine characters, no image. It pastes into a commit message, a DM or a terminal and still looks like a shrug. Clicking a variant below copies it and loads it up here.
Variants, click one to copy it
It is also called the shrug emoticon, and it is technically a kaomoji, because it is built from ordinary characters rather than a single emoji codepoint. Below it is a searchable library of 122 text faces and cute kaomoji sorted by mood: the lenny face, table flip ascii, ascii cat, happy, sad, angry, love, animals, dance and confused. Under that sit 118 emoji combos for bios and captions. Everything runs in your browser, nothing is uploaded.
/LIBRARY
Type to filter by name, mood or the characters themselves, or pick a category. Clicking a face copies it straight away, and it also loads into the preview above the grid so you can see what you took. The shrug emoticon, the lenny face, table flip ascii and the ascii cat all live here.
No face matches that. Try a mood instead, for example angry, love or confused.
Every face here is plain text. If you want the multi-row kind of picture instead, the text to ASCII generator turns a word into a large banner, and the glitch tool turns a photo into a broken-signal render.
/EMOJI COMBOS
An emoji combo is a short run of two to five emoji that reads as one idea: a mood, an aesthetic, a caption. These are the ones people actually paste into Instagram and TikTok bios, display names, story text and Discord statuses. Search by name or by the emoji themselves, or pick a category. Clicking a combo copies it straight away, and it also loads into the preview above the grid so you can see what you took.
No combo matches that. Try a category instead, for example aesthetic, love or gaming.
Combos are real emoji, so each platform draws its own artwork and the same combo looks a little different on an iPhone, on Android and on the web. For something that renders identically everywhere, use a text face instead.
/WHAT THEY ARE
A text face is a face drawn with characters your fonts already have. Nothing is uploaded, nothing is rendered, nothing is an image. The shrug is nine characters sitting in a row, and every one of them is an ordinary Unicode codepoint that any modern text field will accept.
Four things get confused with each other, and the difference matters the moment you paste.
Emoticons are the Western sideways kind, :-) and ;) and :'(. You read them by tilting your head. They came out of 1980s bulletin boards, where a plain colon and a parenthesis were the whole toolkit.
Kaomoji are the Japanese kind, and kao-moji literally means face-characters. They read upright, like (^▽^), with the eyes doing most of the work and the mouth doing almost none. They grew on Japanese message boards through the 1980s and 1990s, where katakana, full-width punctuation and box-drawing characters gave people a far bigger drawing kit than a US keyboard offered. That is why ツ sits in the middle of the shrug: it is the katakana letter tsu, borrowed purely because it looks like a smirk.
Emoji are single codepoints that a font renders as a small picture. A smiley emoji is not built from parts, it is one character your device draws for you. That makes it compact and colourful, and it also means you get whichever picture the platform decided on, which is why the same emoji can read as friendly on one phone and unhinged on another.
Emoji combos are the newest of the group and the only one built out of emoji rather than characters. A combo is two to five emoji placed in a deliberate order so the run reads as one idea: 🌟🌙💫 is a mood, not three separate pictures. Combos took over bios and captions because a bio field gives you very little room, and three emoji set a tone faster than a sentence does. The trade is the same one emoji always makes: the artwork belongs to the platform, so your combo is redrawn on every device it lands on.
ASCII art is the fourth cousin: a whole picture assembled from a grid of characters, dozens or hundreds of rows deep, which needs a monospaced font to stay aligned. Text faces are one row tall, so they survive in places ASCII art cannot. If you want the multi-row kind, that is what an ASCII art generator is for.
/WHY THEY LAST
A text face is text. That single fact is the whole reason people still paste the shrug forty years after the first emoticon appeared.
Text goes everywhere. It survives a copy into a commit message, a ticket title, a git branch description, a terminal, a plain-text email, a CSV export, a printed page. There is no upload step, no CDN, no hotlink to rot, no image that fails to load on a slow connection. The character sequence is the artwork, so wherever the characters go, the art goes with them.
Text also carries tone in a way a standardised picture cannot. Emoji are designed for legibility, which makes them generic. A kaomoji is assembled, so the exact combination you pick reads as a specific voice. The classic shrug and the casual ╮( ̄▽ ̄)╭ variant in the library above both mean "I do not know", and they do not mean it the same way. One is resigned, one is breezy, and the difference is entirely in which characters you chose.
And text faces are stable in a way images are not. Emoji artwork gets redrawn every few years, so a message you sent in 2016 can read differently today without you touching it. The shrug's macrons and katakana render the same now as they did the day they were first posted, because nobody owns them and no design team is redrawing them next season.
/ANATOMY
The shrug is nine characters, and every one of them is doing a job. If you ever need to rebuild it by hand, or work out why a paste came out wrong, this is the map.
| # | Character | Codepoint | What it is | What it draws |
|---|---|---|---|---|
| 1 | ¯ | U+00AF | Macron | Left hand, palm up |
| 2 | \ | U+005C | Reverse solidus, the backslash | Left arm |
| 3 | _ | U+005F | Low line | Left shoulder |
| 4 | ( | U+0028 | Left parenthesis | Side of the head |
| 5 | ツ | U+30C4 | Katakana letter tsu | The face and the smirk |
| 6 | ) | U+0029 | Right parenthesis | Other side of the head |
| 7 | _ | U+005F | Low line | Right shoulder |
| 8 | / | U+002F | Solidus, the forward slash | Right arm |
| 9 | ¯ | U+00AF | Macron | Right hand, palm up |
Two things are worth remembering from that table. The backslash is the only character in the set that any software treats as special, which is exactly why it is the one that goes missing. And the macron is neither a hyphen nor an overline: swapping it for either drops the hands to the wrong height and the shrug stops reading as a shrug.
/WHERE THEY BREAK
Four failures cover almost every report of a face arriving wrong. Three of them have a fix, and the fourth has a workaround.
Reddit, Discord, GitHub and several Slack contexts parse Markdown, where a backslash escapes the character after it. Paste the shrug into one of those and it can arrive one arm short.
FixDouble it, so the parser prints a single backslash. Or wrap the whole face in backticks, which stops anything inside from being parsed at all.
Stripped-down Linux images and older Windows installs ship without Japanese coverage, so katakana and the rarer symbol blocks fall back to an empty box. There is nothing the reader can do about it.
FixFor audiences you cannot control, prefer faces built from Latin, Greek and box-drawing characters. (¬_¬) travels further than anything with a bear snout in it.
Faces like the lenny stack an accent onto the character before it. Some renderers, and almost every text field with aggressive line-height clipping, put the mark somewhere unhelpful and the eyebrows drift off the face.
FixPreview it once in the destination before you send. If it looks wrong there, take a variant with no combining characters, which is most of the library above.
Username fields, SMS gateways and older databases often accept a limited character range, and they either reject the face outright or store it as a row of question marks.
FixAssume anything with a length limit measured in bytes will mangle it. Keep the face in the message body, out of fields that get validated on the way in.
/WHERE THEY LAND
Slack, Discord, iMessage, WhatsApp. If a backslash keeps vanishing in Slack or Discord, wrap the face in backticks and it arrives intact.
Git commit messages, pull request descriptions, issue trackers. Plain text end to end, so nothing is stripped and nothing needs an attachment.
X, Reddit, Mastodon, forums. Reddit renders Markdown, so escape the backslash in the shrug or the post will show it with one arm.
Log lines, CLI splash text, code comments and docstrings. Any font with the right coverage shows them, and they cost nine bytes rather than an image request.
/FAQS
/DO MORE WITH ASCII MAGIC
The studio behind this page turns photos and video into full ASCII art, pixel art, dither, halftone, voxel and more. Export PNG, GIF or MP4, all in the browser.
Open the editor →/RELATED
This page is for one-line faces. To turn a word into a large banner, use the text to ASCII generator. To turn a photo into a broken-signal render, use the glitch tool. For everything else, open the full studio.