Skip to content
An open, non-profit community for glyphs, fonts, emoji & kaomoji
Open · Community-curated · Free to use

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.

708curated entries
5open collections
100%openly licensed

Try it — tap any glyph to copy

Every entry is verified to render correctly. Last checked: August 19, 2026

Byte-exact copy · UTF-8 safe
Open libraries

Five collections, free to browse & copy

Suggest an addition →

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.

A letterpress type case of small tiles, illustrating the 191 decorative symbols kaomoji are assembled from
A kaomoji is assembled the way type is set — small parts pulled from a shared case. The Symbols tab above holds 191 of those parts on their own.

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.

The same kaomoji rendering correctly with full font coverage and as tofu boxes when fonts are missing
The same kaomoji on two devices. The boxes on the right are the five characters from scripts the device has no font for — the bytes are identical on both sides.

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.

Kaomoji ૮꒰˶• ༝ •˶꒱ა broken down into its Gujarati, Yi, Tibetan and Georgian code points
Eleven code points, four writing systems: the hands are a Gujarati digit and a Georgian letter, the cheeks are Yi radicals, the mouth is a Tibetan mark.

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.

How we curate & verify

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.

✓
Verified rendering

Each set is tested for correct display with a visible “last checked” date and per-platform notes.

📖
Real Unicode explained

Code points, blocks and why a character renders or breaks — sourced to The Unicode Consortium.

⚖
Clear licensing

Fonts under SIL OFL; community text shared under Creative Commons. Reuse terms stated plainly.

👥
Reviewed contributions

Every submission is checked for originality and credited to its contributor with consent.

The community engine

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.

1
Submit

Send your entry through the contribution form with a category and source.

2
Review

Maintainers check originality, licensing and that it renders with no tofu.

3
Publish & credit

It goes live under our open license, credited to your handle.