· 5 min read
TikTok Hidden Emojis: The Full Code List and How to Use Them
TikTok has a set of exclusive emojis that only appear when you type a specific code in square brackets. Here is the complete list and where they work.

The full code list
Type the code exactly as written, square brackets included. Codes are case-sensitive in some app versions, so lowercase is the safe default.
- [smile] [happy] [angry] [cry] [embarrassed] [surprised]
- [wronged] [shout] [flushed] [yummy] [complacent] [drool]
- [scream] [weep] [speechless] [funnyface] [laughwithtears] [wicked]
- [facewithrollingeyes] [sulk] [thinking] [lovely] [greedy] [wow]
- [joyful] [hehe] [slap] [tears] [stun] [cute]
- [blink] [disdain] [astonish] [rage] [cool] [excited]
- [proud] [smileface] [evil] [angel] [laugh] [pride]
- [nap] [loveface] [awkward] [shock]

Where they work and where they do not
They render in comments, in video captions, in your bio and in direct messages. They do not render anywhere outside the app — copy a comment containing one into a browser or another app and you will see the raw code in brackets instead.
That is worth knowing before using them in a bio you also share elsewhere, or in a caption you intend to screenshot for another platform. Inside TikTok they look native; everywhere else they look like a mistake.
Do they help engagement?
Marginally, and not for the reason usually claimed. There is no evidence TikTok weights its own emojis differently in the algorithm, and anyone telling you a specific emoji boosts reach is guessing.
What they do is signal familiarity. A comment using a code most people do not know reads as coming from someone who spends real time on the platform, and in comment sections that carries a small amount of social weight. On an account trying to look established, small signals of fluency are worth having.
As with anything of this kind, the effect is a rounding error next to whether your first two seconds hold attention. Use them because they look good, not as a strategy.

Why a code sometimes fails to render
The usual causes are a typo, a missing bracket, or an app version that predates a particular emoji being added. Codes are also occasionally retired, in which case the bracketed text simply posts as written.
If a code posts as plain text, delete the comment rather than leaving it — a visible [lovely] in a comment thread reads as a failed attempt at something, which is worse than not having tried.