Sparkle Kaomoji
Thirty sparkling faces to copy. The sparkle tail that trails off most of them is a deliberate ramp of dot sizes, and one of its characters has a twin that will collapse the whole thing.
Tap any tile to copy it. Nothing is sent anywhere — the copy happens in your browser.
The sparkle is not called a sparkle
✧ is U+2727 WHITE FOUR POINTED STAR and ✦ is U+2726 BLACK FOUR POINTED STAR. Neither has the word sparkle anywhere in its name. The characters that do carry it are ❇ U+2747 SPARKLE and ❈ U+2748 HEAVY SPARKLE, both dense many-spoked forms that outweigh a face made of brackets and dots, and ✨ U+2728 SPARKLES, which carries the emoji presentation by default and so is drawn in colour rather than as text unless a variation selector asks otherwise. The four-pointed pair is the shape that reads as a glint: two long axes and two short ones.
The tail: *:・゚✧
The trail on (ノ◕ヮ◕)ノ*:・゚✧ is not decoration chosen at random. It is a graded run of dot sizes.
*U+002A ASTERISK — narrow and textural:U+003A COLON — two dots, stacked vertically・U+FF65 HALFWIDTH KATAKANA MIDDLE DOT — one dot, centred on the line゚U+FF9F HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK — a small open ring✧U+2727 — the glint itself, largest and last
Read left to right, the marks resolve from noise into a single point of light. Reverse them and the effect is gone; that is why the mirrored versions put the small marks nearest the face on both sides.
゚ has a twin that will ruin the line
゚ U+FF9F is a spacing character in its own right. It stands on its own and takes its own half-width cell. ◌゚ U+309A COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK looks identical in a character chart but is a combining mark, so pasting it attaches it to whatever character precedes it. A sparkle tail built with the wrong one collapses onto the last letter of the face instead of standing beside it. If your sparkles keep landing on top of a bracket, this is the reason. Copying and pasting kaomoji collects the other characters that change shape in transit.
٩ and و are Arabic, and not the same kind of Arabic
The raised arms in ٩(ˊωˋ*)و are borrowed characters. ٩ is U+0669 ARABIC-INDIC DIGIT NINE, ۶ is U+06F6 EXTENDED ARABIC-INDIC DIGIT SIX, and و is U+0648 ARABIC LETTER WAW. Under the bidirectional algorithm the three carry different classes: و is a strong right-to-left letter, ٩ counts as an Arabic number and ۶ as a European number. A matched-looking pair of arms can therefore rearrange the punctuation around it differently depending on which characters you used. Inside a copy grid, with nothing beside it, there is nothing for it to reorder. In a sentence there is: brackets and full stops are direction-neutral characters that take their direction from the strong character next to them, so the arm you chose decides which side of the face they end up on.
Do not use ✨
✨ U+2728 SPARKLES survives a narrow database, because it sits inside the Basic Multilingual Plane — and then arrives in colour and two sizes larger than the face it was supposed to decorate, because colour is its default presentation rather than an accident of where you pasted it. ✧, ✦, ⋆ and ✩ are not emoji characters at all, so there is no colour form for them to fall into: they are drawn with the text font, at text size, on the line. The florettes ✿ and ❀ behave the same way one size up, which is why they end up as pom-poms and hair ornaments rather than glints — see flower kaomoji.
Sparkle as a volume control
A sparkle is not there to change what a face means; it raises the volume of what is already there. (•̀ᴗ•́) is resolved. (•̀ᴗ•́)و ✧ is resolved and rather pleased with itself. The related decision — whether a star belongs in the eye or outside the brackets — is covered on star kaomoji. When the face underneath is already at full volume — arms up, mouth open — the sparkle is decoration rather than emphasis, and excited kaomoji is the better place to start. The full inventory of parts sits on the kaomoji hub.