How text-to-meme matching works

TextToMeme matches your line to a meme layout with an ordered list of keyword and pattern rules — not an AI model. This page is the whole system, published. If your line picks a layout, one of the rules below fired, and the tool tells you which.

The rule table, in order

Rules are checked top to bottom; the first match wins. Order matters — a line about money and a deadline is a disaster story before it is a finance joke.

#Pattern your line containsLayout pickedWhy
1“unpopular opinion”, “hot take”, “change my mind”, “fight me”Change My MindA confident claim that invites argument belongs on the sign.
2“should I”, “can't decide”, “dilemma”, “either way”Two ButtonsA stuck choice, one tempting option per button.
3“vs”, “versus”, “prefer”, “rather than”, “instead of”, “better than”Two-panel preferenceTwo options compared: rejected on top, preferred below. A “vs” inside the line also splits the line into the two panels automatically.
4fire, burning, chaos, disaster, meltdown, crashing, deadline, falling apartThis Is FineA catastrophe being calmly ignored is this format's entire job.
5finally, nailed, passed, won, got the job, finished, first trySuccess KidAn achievement, celebrated with a small fist pump.
6invest, stock, crypto, money, profit, buy, sell, price, salaryStonksFinancial genius — real or deeply questionable — gets the chart treatment.
7distracted, procrastinating, shiny, notification, new app/game/showDistracted BoyfriendYour line becomes the current thing; your second line becomes the distraction.
8shocked, surprised, turns out, plot twist, “who could have…”Surprised PikachuA predictable action meets its obvious consequence.
9Nothing matchedClassic top / bottomFirst line is the setup, second line is the punchline — the oldest format still works.

How your text fills the layout

Once a layout is picked, your words are mapped into its caption zones by fixed rules: a comparison line is split at “vs”; in the three-label layout your first line is the current commitment and your second line is the shiny distraction, with “Me” in the middle; a Stonks match joins both lines into a single label. Every slot stays editable after the match, so the auto-fill is a starting draft, never a lock-in.

Rendering is equally literal: the chosen layout — original colour blocks and an emoji character, drawn fresh on a canvas — is painted, caption text is wrapped and shrunk until it fits its zone, and the result is exported as a PNG. No server is involved at any step.

Why rules instead of an AI model?

Three reasons. Predictability: the same line always picks the same layout, so behaviour can be documented — this page is the documentation. Privacy: rules run in your browser, so drafts, rants and unreleased product names are never uploaded. Speed: there is no API round-trip; the meme re-renders on every keystroke. The trade-off is nuance — a sarcastic line with no trigger words falls back to the classic layout — and that is why the manual layout menu is always visible next to Auto.

Try the rules yourself in the text to meme generator, or see them fire on real sentences in the examples gallery.