Taiwanese Internet Slang: What 87, QQ, ㄏㄏ and 森77 Mean

Taiwan's chats run on puns you can only read out loud: 森77 is a pouty "I'm mad", ㄏㄏ is a flat heh-heh, and QQ is either crying or chewy boba. Here is where each one comes from, the emoji that go with it, and why 8+9 is better left alone.

Published

A blank pink speech bubble, with a small round kettle puffing two clouds of steam above it and two teardrop-shaped pink jellies below.

Taiwanese internet slang looks like typos until you say it out loud. Most of it is built from three tricks: numbers that sound like words, Zhuyin (the phonetic alphabet Taiwan teaches Mandarin with) cut down to the first letter of each syllable, and Taiwanese Hokkien words spelled with whatever Mandarin characters sound closest. Below are some you will see often, with pinyin so you can hear the pun and emoji that go with them.

  • 森77 (sēn qī qī): a pun on 生氣氣, "angry-angry", a pouty, half-joking way to say you are mad. Pairs with 😤.
  • ㄏㄏ: Zhuyin shorthand for 呵呵 (hē hē), a flat "heh heh" that often reads as sarcastic. Closest emoji: 🙂.
  • 笑死 and XD: dying of laughter. QQ is the opposite, a crying face made of two eyes with tears.
  • QQ about food means soft and chewy, from a Taiwanese Hokkien word. Think of the pearls in boba.
  • 87 (bā qī): sounds like 白痴 (bái chī), idiot. Teasing between friends, rude to anyone else.
  • 8+9 (bā jiā jiǔ): a pun on 八家將, a temple procession troupe, used as a put-down for young people seen as troublemakers. It is a stereotype; do not call anyone that.

What does 森77 mean?

森77 is read sēn qī qī and stands for 生氣氣 (shēng qì qì), "angry-angry": 森 fills in for 生, and each 7 (qī) for 氣 (qì), anger. Taiwan's National Academy for Educational Research used to run a public glossary of new words, and its entry calls 森77 a pun on 生氣氣 whose doubled ending is there to sound cute, with the variant spellings 377, 森7, 生七七 and 森氣氣. So 森77 is usually not real fury. It is a pout: you are a bit put out, but you are keeping it light.

Taiwanese Hokkien has its own version, khì-phut-phut, which the Ministry of Education's Taiwanese dictionary writes 氣怫怫 and defines as fuming; online it becomes 氣噗噗 or even 7pupu. The best emoji match for both is 😤, face with steam from nose: its two puffs of steam are khì-phut-phut in a picture. Its formal Unicode name says something else, FACE WITH LOOK OF TRIUMPH, and the Chinese name this site takes from CLDR is 傲慢, arrogant. Emojipedia notes it can convey irritation and anger as well as pride, and next to 森77 or 氣噗噗 it reads as plain huffy. For more heat, add 💢 or switch to 😡, whose Traditional Chinese name is simply 生氣, angry.

  • Face with steam from nose

    The natural match for 森77 and 氣噗噗: a huffy, pouty kind of angry rather than real rage.

  • Huffing, with anger symbol

    Add the anger symbol when the pout should look a little more serious.

  • Enraged face

    Its Traditional Chinese name on this site is simply 生氣, angry. Stronger than 😤, so save it for when you mean it.

What does ㄏㄏ mean? Zhuyin shorthand

ㄏㄏ is written in Zhuyin, also called Bopomofo: a set of phonetic symbols for Mandarin, first released in 1918. Taiwan's Ministry of Education describes knowing it as a requirement of elementary school, and it doubles as a keyboard input method. In mainland China, the Unicode Standard notes, Pinyin has largely taken over that role. The shorthand works by typing only the first symbol of each syllable and hitting send. 呵 is spelled ㄏㄜ (hē), so 呵呵 becomes ㄏㄏ. In the same way ㄎㄎ is 科科 (kē kē), which the glossary defines as a quiet snicker, and ㄅㄅ is 掰掰 (bāi bāi), bye-bye.

Tone is the thing to watch. The glossary's entry for 呵呵 says it is often used to mock, and lists ㄏㄏ among its spellings. When DailyView, a Taiwanese social-listening site, ranked the ten most irritating chat replies in 2022, ㄏㄏ came fourth for sounding sarcastic. If something is genuinely funny, a longer 哈哈哈 is safer. The closest emoji to a ㄏㄏ is 🙂, which this site's Traditional Chinese list calls 呆呆笑, a blank smile, and which, as another article here explains, often reads as passive-aggressive. The snicker of ㄎㄎ goes with 🤭, and ㄅㄅ with a waving 👋.

  • ㄏㄏ (heh heh)

    Zhuyin shorthand for 呵呵, a flat laugh that often reads as sarcastic.

  • Slightly smiling face

    The emoji closest to ㄏㄏ: friendly on paper, often read as passive-aggressive.

  • ㄎㄎ (snicker)

    Zhuyin shorthand for 科科: a quiet snicker.

  • Face with hand over mouth

    A giggle behind your hand, a good match for ㄎㄎ.

  • ㄅㄅ (bye-bye)

    Zhuyin shorthand for 掰掰, bye-bye. Means the same as 88 and 886.

  • Waving hand

    Signs off a chat together with ㄅㄅ or 88.

Laughing and crying: 笑死, XD and QQ

笑死 (xiào sǐ) is literally "laughing to death", defined in the glossary as extremely funny, and sometimes written 笑鼠, "laughing mouse", which sounds almost the same. It is the same idea as saying "I'm dead" with a 💀 in English, which the article on internet emoji covers. The emoji that fits it is 🤣, rolling on the floor laughing. Like any laugh typed a hundred times a day, it has worn thin: the same DailyView list put 笑死 first, because plenty of people type it without laughing at all.

XD is a face on its side: tilt your head left and the X is a pair of eyes squeezed shut, the D a wide-open mouth. Its emoji twin is 😆, whose Unicode name spells the face out: SMILING FACE WITH OPEN MOUTH AND TIGHTLY-CLOSED EYES. QQ is the reverse, a crying face: the two Qs are eyes and their tails are tears. Replying 幫QQ ("QQ for you") to someone's bad luck is a half-joking bit of sympathy; in 2025 a Taiwanese news site ran a story about someone teased by a younger co-worker for still saying it. For heavier crying there is 😭, or 555, because 五 (wǔ, five) sounds like the sob 嗚 (wū). In Thai the same 555 means ha-ha-ha, which the article on laughing in other languages explains.

  • XD

    A laughing face on its side: eyes squeezed shut, mouth wide open.

  • Grinning squinting face

    XD as an emoji. Its Unicode name is SMILING FACE WITH OPEN MOUTH AND TIGHTLY-CLOSED EYES.

  • Rolling on the floor laughing

    A good match for 笑死: laughing so hard you end up on the floor.

  • QQ (crying)

    Two eyes with tears running down. 幫QQ means you feel sorry for someone.

  • Loudly crying face

    Crying harder than QQ.

  • 555 (sobbing)

    In Chinese, 5 (wǔ) sounds like the sob 嗚, so 555 is crying. In Thai the same digits are laughing.

What does QQ mean for food? Chewy, like boba

Say QQ about food in Taiwan and nobody is crying. Taiwanese Hokkien has a word, khiū, for food that is soft but springy, and the Ministry of Education's Taiwanese dictionary defines it as exactly that: soft, elastic and chewy, with an example sentence praising a red turtle cake, a sticky rice sweet. The character for it is 𩚨, the food radical beside 丘, but in writing people borrow the letter Q, which sounds almost the same. That gives you Q彈 (Q and bouncy), 很Q (very Q) and plain QQ. The dictionary even lists an intensified form, khiū-teh-teh, which with the Q swapped in becomes Q嗲嗲, also spelled Q爹爹.

A dashed line splits the picture: on the left, a cup of bubble tea with a few pearls bouncing up beside the straw; on the right, two big teardrops side by side.
The same two Qs: next to food they mean chewy, after a feeling they mean tears.

Bubble tea pearls are a good example of Q. The bubble tea emoji 🧋 only arrived in Emoji 13.0 in 2020, so a phone that has not been updated in years may show an empty box instead. So "the pearls here are so QQ" is praise for the texture, and "got told off by my boss again today, QQ" is actual sadness. The rule of thumb is simple: if the sentence is about food, it is texture; if it is about feelings, it is tears.

  • Bubble tea

    The pearls are what Taiwanese people mean by Q: soft, springy and chewy. Emoji 13.0 (2020).

What does 87 mean in Taiwan? Number slang

87 is read bā qī, close to 白痴 (bái chī), idiot. Calling a friend 87 is teasing, roughly "you dork". It took off with the line 87分,不能再高了, "87 points, can't go any higher", which BBC Chinese picked out in 2017 as one of Taiwan's catchphrases of the moment: it started out as praise, and netizens turned it into a way of calling something idiotic. The word underneath is still an insult, and the Ministry of Education's Taiwanese dictionary files 白痴 under insults. Keep it for friends who trade jabs, not for strangers, elders or anyone at work.

More number puns you will see: 94 (jiǔ sì) for 就是 (jiù shì), "exactly", which the glossary lists too; 88 (bā bā) for bye-bye; 886, bye-bye plus a trailing 囉; 555 for sobbing; and 377, the other spelling of 森77. They are quick, a little cheeky, and depend entirely on sound, so the same digits can mean something else in another language, as 555 shows.

What does 母湯 mean? A Taiwanese word gone online

母湯 (mǔ tāng, literally "mother soup") is a sound-alike spelling of the Taiwanese Hokkien 毋通, m̄-thang: don't, you shouldn't. The Ministry of Education's Taiwanese dictionary notes that it is a softer way of advising or asking someone not to do something, so 母湯喔 sounds less like an order and more like grabbing a friend's arm: "hey, don't." You will also see 毋湯 and 恩湯. The best emoji match is 🙅, formally FACE WITH NO GOOD GESTURE, arms crossed into an X, and its Traditional Chinese name on the site's emoji list is simply 不行, no way.

  • Person gesturing no

    Arms crossed into an X, a good match for 母湯: don't.

What does 8+9 mean, and why not call anyone that?

8+9 is read bā jiā jiǔ, "eight plus nine", a pun on 八家將 (bā jiā jiàng), the Ba Jia Jiang, a troupe that walks in Taiwanese temple processions. The Ministry of Education's Taiwanese dictionary defines pat-ka-tsiòng, its Hokkien name, as attendants of the underworld and one of the troupes in a god's procession. In a 2017 column, Li Pei-ju, then a graduate student in intangible cultural heritage, explained that performers paint their faces and put on the robes and headdresses of deity generals to drive away plague and evil spirits. It is registered heritage, too: in 2015 Chiayi City registered Ba Jia Jiang as a traditional performing art, with the troupe of its Ciji Temple as keeper, citing the face painting and a century of practice.

Online, 8+9 has little to do with the tradition. It gets stuck on young people who look like troublemakers. A 2018 column on press coverage quoted the internet definition, which ties the label to hooligans, brats and social disorder, and argued that temple news skews negative and keeps the stereotype alive. Li's column made the same point from the troupes' side: traditional troupes keep strict discipline and taboos, yet a few incidents in the news got the whole art labelled.

That makes two problems in one word. It sorts people by how they look, dress, their age or background, though the people it is aimed at may have done nothing but resemble a group; and it pins that image on a folk performance with a century of history. If you see it, you now know what it means. If you want to describe something, say what actually happened instead of reaching for a label. That is also why this guide gives 8+9 no copyable example and no emoji.

Check the tone before you send

  • 森77 is mostly a pout. If someone is properly angry, answering with it can sound like mockery.
  • ㄏㄏ can read as a sneer. If you are laughing, type more 哈 or use 😆.
  • 笑死 on its own can sound like you barely read the message. Add what made you laugh.
  • QQ: check whether the sentence is about food or feelings before you offer sympathy.
  • 87 is for friends who tease each other, not for elders, strangers or colleagues.
  • 8+9: do not use it about anyone; describe what happened instead.

A lot of this slang caught on in forums and chat rooms, and some of it will sound dated in a few years. When you hit one you cannot read, ask whether it is a number pun, Zhuyin or Taiwanese Hokkien, then say it out loud. To find a matching face, the emoji list here is searchable by name, and text faces like XD and T_T are with the kaomoji.

The illustrations on this page are AI-generated. They are not emoji artwork from any platform.