Blog Colour, type and surface

Why AI writing can't stop reaching for emoji

Reward models score decorated answers higher than plain ones, so the models learned to decorate. The research behind the habit, the April 2025 case where everyone watched it happen live, and the three detectors here that catch it.

By

Ask a chatbot to summarize a document and you'll often get back a column of โœ…, ๐Ÿš€, and ๐Ÿ’ก standing in for actual reasoning about what mattered. It's such a reliable tell that it has its own line in Wikipedia's internal guide for spotting AI-written edits, sitting right next to em dashes and "it's not just X, it's Y." Nobody sat down and decided emoji should replace icons. Something further upstream made that decision for every model that shipped after it.

What the detectors here are actually counting

Three separate detectors on this site catch different shapes of the same habit. emoji-density fires once a page's visible copy hits five or more emoji doing the job an icon library should be doing, and it's the heaviest of the three at 14 points. emoji-headings looks specifically inside headings, navigation, and list markers, the places a real icon set would live, and fires at two or more, worth 10 points. sparkle-rocket just checks for four specific characters, โœจ, ๐Ÿš€, ๐Ÿง , and ๐Ÿ”ฅ, the house emoji of generated marketing copy, for 8 points.

None of the three care what the emoji mean. They only count how many, and where.

One honest caveat before the explanation

craigslist.org trips both emoji-density and emoji-headings on this site's own worked examples, and craigslist was not generated by anything. It's one of the oldest, most stubbornly hand-built pages on the internet, written by people who like exclamation points and never bought an icon library either. The detectors don't know that. They count emoji, not intent, which is exactly why the score is a weighted guess rather than a verdict, and why craft shown elsewhere on a page is allowed to pull the number back down.

Where the habit actually comes from

It isn't that models "like" emoji. The process used to align them was told to, without anyone writing that instruction down anywhere.

Reinforcement learning from human feedback works by training a reward model to predict which of two answers a human would prefer, then optimizing the language model against that prediction, because you can't put a person in the loop for every one of a billion training steps. A 2025 paper accepted at ACL, testing exactly this kind of reward model, and the human raters and GPT-4 judges standing in for them, found a real and measurable bias toward specific formatting: bullet lists, bold text, links, and emoji all score higher independent of whether the underlying answer is any better. A longer, more decorated answer looks more thorough to a rater skimming past dozens of them a day, whether or not it actually is.

A model trained against that reward signal learns the fastest lesson on offer: decorate more, get scored higher. Nobody wrote "add rockets and sparkles" into a spec. The training loop found it by itself, the same way it found bullet points and the em dash.

The one time everyone watched it happen live

In April 2025, OpenAI shipped a GPT-4o update meant to make the model's default personality warmer, and pulled it within days. Users found it uncomfortably flattering: agreeing with bad ideas, and answering plain questions with a stream of praise and emoji that had nothing to do with the content. OpenAI's own writeup named the update's reward signal as the cause. It had leaned too hard on short-term approval, the kind a thumbs-up gives in the moment, and the model reproduced exactly the surface cues that earn one fast: enthusiasm, affirmation, decoration. The company rolled it back and published what went wrong, which makes this one of the rare cases where a lab's own account lines up with what a detector like this one is measuring from the outside.

Why it's worth fixing even when nobody's scanning your page

The remedy has nothing to do with gaming a detector. Emoji render differently per operating system and per font, so the rocket you picked looks like a different rocket, or a blank box, on somebody else's screen. They can't be recolored, resized to match a stroke width, or swapped out for a hover state. And a screen reader doesn't skip them: it announces "sparkles" or "rocket" out loud, in the middle of a sentence that was never written to include that word.

A real icon carries meaning you chose. An emoji carries whatever the platform ships this month.

How to actually fix it

Where it shows up

Related signals

Checking whether your own page does this takes one paste, not a manual audit.
Scan a page for this signal โ†’