An open library of kaomoji, emoji, glyphs & open fonts.
OpenGlyph is a non-profit community where enthusiasts browse, copy and contribute kaomoji, ASCII art, symbols and open-source fonts — every set tested to render correctly, openly licensed for everyone.
Five collections, free to browse & copy
Japanese emoticons sorted by emotion & animal — cute, heart, happy, crying, cat and more.
What an emoji actually signals, and how the same character is drawn differently on each platform.
Heart symbols, aesthetic marks and Egyptian hieroglyphs — with the Unicode behind each one.
Text-only pictures: how they are built, and how to turn a photograph into one.
Open-source typefaces and what SIL OFL and Creative Commons licences really permit.
What is a kaomoji?
A kaomoji is a face built from text characters that you read upright, without tilting your head — (^▽^) rather than :-). The word is Japanese: 顔 (kao, face) + 文字 (moji, character). Because the eyes, mouth and hands are ordinary Unicode characters, a kaomoji travels as plain text: it survives copy, paste and most text fields that would reject an image.
Kaomoji emerged in Japan during the 1980s, on early Japanese PC networks whose character sets already carried a rich supply of brackets, punctuation and kana to build faces from (Wikipedia: Kaomoji). That is the key difference from the Western emoticon :-), popularised by Scott Fahlman at Carnegie Mellon in 1982, which is read sideways because ASCII offered far fewer shapes to work with.
Why the upright style matters
Reading upright frees the face to grow arms, blush marks and props — ٩(ˊᗜˋ*)و or (づ๑•ᴗ•๑)づ♡. That expressive range is why kaomoji never went away after emoji arrived: emoji give you one fixed picture per idea, while a kaomoji can be assembled, tweaked and personalised character by character.
How to copy and paste a kaomoji
Tap any entry in the library above and it is copied to your clipboard — then paste it wherever you are typing. Nothing is downloaded and no account is needed. The tabs sort the collection by mood: Cute, Heart, Happy, Crying & sad, Cat & animal, and a Symbols set for the individual marks used to decorate them.
Two things worth knowing when you paste:
- Paste as plain text where you can. In apps that carry formatting (email clients, word processors), a normal paste can drag along the font and size from this page. Paste and Match Style — Ctrl+Shift+V on Windows and Linux, ⌘+Shift+V on macOS — keeps only the characters.
- Don’t retype it by hand. Many of these faces contain marks that sit invisibly on top of another character. Retyping produces something that looks close but is not the same string; copying keeps every character intact.
Which set to open
The library is split into seven sets, and the fastest way in is to pick the mood rather than scroll the whole collection. These are the sizes as verified on 19 August 2026:
| Set | Entries | Typical of the set | What it is for |
|---|---|---|---|
| Cute | 128 | (。♥‿♥。) | Soft, round, blushing faces — the largest set, and the usual starting point |
| Heart | 92 | (づ๑•ᴗ•๑)づ♡ | Faces holding, sending or made of hearts |
| Angry & meme | 96 | (╯°□°)╯︵ ┻━┻ | Rage, side-eye and the classic internet faces — table flips, shrugs and disapproval |
| Crying & sad | 73 | (╥﹏╥) | Tears, sulking and disappointment, from mild to dramatic |
| Cat & animal | 71 | ฅ^>⩊<^ฅ | Paws, ears and whiskers — cats, bears and other creatures |
| Happy | 57 | ٩(ˊᗜˋ*)و | Grinning, cheering and celebrating faces |
| Symbols | 191 | ⋆ ୨୧ ✧ ꒰ ꒱ | Single decorative marks for building or dressing up your own |
Two of these sets have a page of their own with a wider selection and notes on how each face is put together: cute kaomoji and heart kaomoji. The rest are served from the tabs above while their dedicated pages are being written.
Kaomoji, emoji and emoticons are three different things
They are often used interchangeably, but they behave differently once you paste them somewhere. Emoji are single characters with a picture supplied by the platform; kaomoji and emoticons are sequences of ordinary text characters that the platform draws with whatever font it has.
| Emoticon | Kaomoji | Emoji | |
|---|---|---|---|
| Example | :-) | (◕‿◕) | 😀 |
| Read | Sideways | Upright | Upright |
| Made of | ASCII punctuation | Any Unicode characters | One code point (or a joined sequence) |
| Who draws it | Your font | Your font | The platform’s emoji set |
| Looks the same everywhere? | Yes, essentially | Only if the fonts cover it | No — each vendor draws its own |
| Origin | 1982, United States | 1980s, Japan | Late 1990s, Japan; in Unicode from 2010 |
The practical consequence: an emoji can never be missing, only drawn differently by Apple, Google or Samsung. A kaomoji is the opposite — it always looks like itself, but only if every character inside it is covered by a font on the reader’s device.
The characters a kaomoji is built from
Almost none of the characters in a kaomoji were designed to be part of a face. They are digits, letters and mathematical operators borrowed from writing systems around the world, chosen purely because their shape happens to look like an eye, a cheek or a paw. Across the 708 entries in this library we counted 552 distinct code points drawn from 104 different Unicode blocks.

Here is what the most-used parts in this library actually are, with their official Unicode names and how many of the 708 entries contain each one. We resolved these on 19 August 2026:
| Part | Code point | Official Unicode name | Used in |
|---|---|---|---|
| ♡ | U+2661 |
White heart suit | 88 entries (12.4%) |
| ˶ | U+02F6 |
Modifier letter middle double acute accent | 56 entries (7.9%) |
| ᵕ | U+1D55 |
Modifier letter small bottom half O | 48 entries (6.8%) |
| 。 | U+FF61 |
Halfwidth ideographic full stop | 33 entries (4.7%) |
| ꒰ | U+A4B0 |
Yi radical shy | 30 entries (4.2%) |
| ᗜ | U+15DC |
Canadian syllabics carrier thu | 19 entries (2.7%) |
| ¬ | U+00AC |
Not sign | 17 entries (2.4%) |
| ω | U+03C9 |
Greek small letter omega | 16 entries (2.3%) |
| ⩊ | U+2A4A |
Union beside and joined with union | 15 entries (2.1%) |
| ⋆ | U+22C6 |
Star operator | 15 entries (2.1%) |
| 益 | U+76CA |
CJK unified ideograph 76CA (“benefit”) | 12 entries (1.7%) |
| ୨୧ | U+0B68 U+0B67 |
Oriya digit two, Oriya digit one | 2 entries (0.3%) |
The list rewards a second look. The smile in (˶ᵔ ᵕ ᵔ˶) is a phonetic notation symbol, “modifier letter small bottom half O”. The small paired marks tucked beside each eye are an accent from the same phonetics toolkit. The cupped brackets ꒰ ꒱ are radicals from Yi, a script used in south-west China. The popular little wings ୨୧ are simply the Oriya digits two and one. Nobody at the Unicode Consortium ever encoded a “cheek” — the shapes were found and repurposed by the people writing these faces.
The angry and meme faces make the same point even more sharply. The shrug ¯\_(ツ)_/¯ wears a katakana tu (U+30C4) for a face. The flat stare of ಠ_ಠ is built from two Kannada letters ttha (U+0CA0), borrowed from a script used in south-west India. The mouth in ( ͡° ͜ʖ ͡°) is a phonetics symbol, the inverted glottal stop (U+0296). Strangest of all, the clenched mouth in rage faces such as (╬ `益 ‘) is 益 (U+76CA), the Chinese character meaning benefit — chosen purely because it looks like gritted teeth.
Build your own from the parts
Once you can see the grammar, you can write your own: pick a pair of brackets for the outline, two matching marks for the eyes, one for the mouth, and optionally a pair of arms or a decoration. Naming each part by its code point as well as its shape, so the recipe still works if your device is missing a font: ꒰ (U+A4B0) + ᵕ (U+1D55) + ᴗ (U+1D17) + ᵕ (U+1D55) + ꒱ (U+A4B1) gives you ꒰ᵕᴗᵕ꒱. The eyes should match each other, and the mouth should sit between them. The Symbols tab in the library above is exactly this parts bin, and our walkthrough on making your own kaomoji & ASCII art goes through the process step by step. If you build one you are happy with, send it in — that is how this library grows.
Why a kaomoji sometimes shows up as boxes
An empty box — often called tofu — means the device received the character correctly but has no font that can draw it. The text is not broken and nothing was lost in transit; it is a missing font, and the same string will usually render perfectly on a phone that has broader font coverage.

This surprises people because a single kaomoji can quietly borrow from several unrelated writing systems. We resolved the code points of five entries in this library on 11 August 2026:
| Kaomoji | Code points | Scripts it borrows from |
|---|---|---|
| (^▽^) | U+0028 U+FF3E U+25BD U+FF3E U+0029 |
Basic Latin · Halfwidth and Fullwidth Forms · Geometric Shapes |
| ʕっ•ᴥ•ʔっ | U+0295 U+3063 U+2022 U+1D25 U+2022 U+0294 U+3063 |
IPA Extensions · Hiragana · Phonetic Extensions |
| ദ്ദി(ᵔᗜᵔ) | U+0D26 U+0D4D U+0D26 U+0D3F … U+15DC |
Malayalam · Canadian Aboriginal Syllabics · Phonetic Extensions |
| ૮꒰˶• ༝ •˶꒱ა | U+0AEE U+A4B0 U+02F6 U+0F1D U+A4B1 U+10D0 |
Gujarati · Yi Radicals · Tibetan · Georgian |
| (ᵕ̣̣̣̣̣̣﹏ᵕ̣̣̣̣̣̣) | U+1D55 + U+0323 ×6 per eye, U+FE4F |
Phonetic Extensions · Combining Diacritical Marks · CJK Compatibility Forms |
The fourth entry is the clearest case: those cupped hands ૮ and ა are a Gujarati digit and a Georgian letter, the cheeks are Yi radicals, and the mouth is a Tibetan mark. Four scripts, one face. A device missing any one of those fonts shows a box in exactly that position while the rest of the face renders normally — which is why partial tofu is so common.

The last entry explains a different puzzle. It is 17 code points long, and twelve of them are the same combining dot, U+0323, stacked six times under each eye to make it look watery. Text editors and terminals frequently refuse to stack that many marks and draw them in a smeared column instead. On a phone it renders as intended. If a face looks wrong in a desktop editor, check it on a phone before assuming the characters are damaged.
What actually fixes it
Install a broad font family, or view the text on a device that already has one. The Noto project exists precisely to cover every script in Unicode, and is released under the SIL Open Font License — we explain what that licence permits in our guide to SIL OFL and Creative Commons. What does not fix it is editing the kaomoji: deleting the “broken” character only removes a feature that renders fine for everyone else.
Where kaomoji work, and where they get stripped
Kaomoji paste reliably into ordinary message and post fields — chat apps, social captions, comments, documents — because those accept arbitrary Unicode text. Restrictions appear in fields that validate what you type, most often usernames, display names and in-game nicknames, where a service may allow only a limited character set.
Those rules are set by each platform, change without notice, and differ between the app and the web version of the same service. We therefore do not publish a pass/fail table for name fields and cannot promise that any particular string will be accepted, or that using one is without consequence on a given service — test it in the field itself, and read that platform’s own naming rules. Platform and game names mentioned anywhere on this site are trademarks of their respective owners; OpenGlyph is not affiliated with, endorsed by, or connected to any of them, as set out on our non-affiliation page.
Questions people ask
Can I put a kaomoji in my bio?
Yes, in almost every case. Bio and “about” fields on Instagram, TikTok, X, Discord and Tumblr accept arbitrary Unicode, so a kaomoji pasted there behaves like any other text. The field to be careful with is the username or handle, which is validated far more strictly than the bio — see the section above on where they get stripped.
Do I need a special keyboard to type them?
No. Copying is the practical route, because the characters come from scripts your keyboard has no key for — there is no key on any layout that produces ᗜ or ꒰. On a phone you can also save a favourite into the text-replacement or shortcut feature (Settings → General → Keyboard → Text Replacement on iOS; personal dictionary on Android), which lets you type a short trigger and get the whole face.
Why does a face look fine here but broken in my code editor?
Editors and terminals use a single monospace font with narrow coverage, and they also limit how many combining marks they will stack. Both produce boxes or smearing that have nothing to do with the text itself. The characters are intact — check them in a browser or on a phone. This is also why we never “repair” an entry that looks wrong in a terminal.
Can I use these commercially?
The faces themselves are sequences of Unicode characters, which are not copyrightable as such — you can paste them into anything. What we do license is this collection: how it is curated, credited and shared is set out on our content licensing page. If you are asking about fonts rather than characters, that is a genuinely different question, and SIL OFL and Creative Commons covers it.
Is a kaomoji the same as a Japanese emoticon?
Yes — “Japanese emoticon” is the common English name for the same thing, and both refer to the upright, text-built faces described at the top of this page. “Kaomoji” is simply the Japanese word for it. Neither term covers emoji, which are single picture characters drawn by the platform.
How this library is built
The collection above held 708 entries across seven sets when it was last verified on 19 August 2026. It began that day at 350: a first pass added 286 and removed 24, and a second added the Angry & meme set, for a net gain of 358. Every entry is stored byte-for-byte as it was contributed or sourced. We do not “clean up” faces: variation selectors and combining marks stay, because stripping them is what turns a working kaomoji into a broken one.
Verification is a real pass, not a claim: at the last check every one of the 708 entries was confirmed to be valid UTF-8, to contain at least one visible character, to carry no replacement or control characters, and to be unique within the collection. Curation then removes exactly three things — exact duplicates, entries that are fully invisible when pasted (whitespace or stray combining marks only), and symbols that have nothing to do with a decorative face. Those 24 removals were all on that last ground — interface and legal marks such as arrows and © that had drifted in with the decorative sets. The Angry & meme set needed a fourth filter that the others did not: the source material for internet-meme faces arrives mixed with slurs, sexual ASCII and weapon drawings, and 545 candidates were rejected to arrive at the 96 published here. Rude gestures were left out too. That is a curation decision rather than a rendering one, and it is the same standard we ask of contributors in our community guidelines. Everything else stays, including entries that look odd in a code editor. Our full editorial method is written up in how we curate & verify.
If a face you use is missing, send it to us — maintainers check it for originality and rendering, credit you, and publish it under the terms on our content licensing page. If you would rather build your own from scratch, our walkthrough on making your own kaomoji & ASCII art covers how the pieces fit together, and every heart symbol & how it renders goes deep on the decorative marks used throughout these sets. More explainers live in the guides section.
Built on open standards, checked by people
We follow the real Unicode model behind every glyph and credit primary sources. Community submissions are reviewed before they go live — no fabricated authority, no false safety claims.
Each set is tested for correct display with a visible “last checked” date and per-platform notes.
Code points, blocks and why a character renders or breaks — sourced to The Unicode Consortium.
Fonts under SIL OFL; community text shared under Creative Commons. Reuse terms stated plainly.
Every submission is checked for originality and credited to its contributor with consent.
Contribute a kaomoji, symbol set or open font
Found a kaomoji we’re missing, or made some ASCII art? Submit it. Our maintainers review for originality and rendering, credit you, and share it under our open license — so everyone benefits.
Send your entry through the contribution form with a category and source.
Maintainers check originality, licensing and that it renders with no tofu.
It goes live under our open license, credited to your handle.
Learn how glyphs really work
A shocked kaomoji is a Japanese-style text face with round eyes and an open mouth that shows surprise,…
An evil kaomoji is a Japanese-style text face with slanted eyes, a sly grin or devil horns, used…
A dead kaomoji is a Japanese-style text face with X-shaped eyes, used for zombies, ghosts, knockouts or the…
