Email Subject Line Analyzer
Score any subject line 0-100 across 8 signals: length, word count, spam triggers, sentiment, emoji, CAPS ratio, personalization, and power words. Free, instant, unlimited use. Type below to score live.
Spam-trigger words detected
How to use the analyzer
- Type or paste your subject line in the input above. The score updates live as you type (300ms debounce).
- Read the breakdown - green dots are good, amber are borderline, red need fixing.
- Apply the advice - usually 1-2 changes lift the score 10-20 points.
- Re-type and ship.
What each signal measures
Length - character count. Sweet spot 30-50 chars. Mobile clients truncate around 30-40, desktop Gmail shows ~70. Pair the subject with a complementary preheader so truncation doesn't strand the call to action.
Word count - concise reads as confident; verbose reads as unsure. 5-9 words is the open-rate sweet spot across multiple research datasets. The analyzer splits your subject via Unicode-aware tokenization before counting, and inspects n-gram matches against the spam-trigger list so multi-word triggers (e.g. "act now") fire even when neither word alone would.
Spam triggers - match against ~150 high-impact words distilled from SpamAssassin's URI/SUBJECT rules and the mailmeteor/spam-words list. One match is borderline; two or more is high risk.
Sentiment - AFINN-style scoring across positive/negative words. Marketing emails skew positive; subjects with mildly positive language outperform neutral ones, and outperform overtly hyped ones.
Emoji - one is fine, two borderline, three or more triggers spam heuristics in Gmail and Outlook.
CAPS ratio - anything over 50% reads as shouting. Below 20% is natural.
Personalization - bonus when a token like [FirstName], {{name}}, %FNAME%, or *|FNAME|* is detected. Personalized subjects open 10-20% better on average.
Power words - bonus for verbs and adjectives that lift CTR without triggering spam filters: discover, introducing, unlock, finally, announcing.
FAQ
What makes a good email subject line?
Concise (30-50 characters, 5-9 words), specific to one outcome, and free of spam-trigger words. Add a personalization token like [FirstName], use one emoji at most, keep CAPS under 20%. Power words like "discover", "introducing", "unlock" lift open rates without triggering spam filters.
How long should an email subject line be?
30-50 characters is the sweet spot. Mobile clients (where 60%+ of email opens happen) truncate around 30-40 chars; desktop Gmail shows ~70 chars. Keep the most important word in the first 30 chars so it survives mobile truncation. Anything over 70 characters will truncate everywhere.
Which words trigger spam filters?
Money words (free, $$$, cash, save), urgency words (act now, last chance, urgent), guarantee words (100%, no risk, money back), and hype (amazing, incredible, miracle). Spam filters use weighted scoring across thousands of signals - one trigger word usually doesn't tank delivery, but combinations do. The analyzer here uses a curated list of ~150 highest-impact triggers distilled from SpamAssassin and mailmeteor.
Should I use emoji in email subject lines?
One emoji is fine and can lift open rates 5-15% in B2C. Two is borderline. Three or more reads as spam to both filters and users. Pick a single emoji that matches the message, place it at the start or end (not the middle), and skip purely decorative ones. Outlook strips emoji from preview panes; don't rely on them as the only differentiator.
Does the score predict open rates?
Loosely. The score is a sum of well-known deliverability and copywriting signals - high scores correlate with better delivery and click-through, but actual open rates depend on your sender reputation, list quality, send time, and the audience's existing relationship with you. Treat the score as a hygiene check, not a prediction. After the subject scores clean, run the full message body through the Spam Score Checker to catch body-level triggers, and use the A/B Test Calculator to size a real subject-line experiment so you're measuring actual lift instead of guessing.
What are personalization tokens?
Placeholders that your ESP swaps for subscriber data at send time - [FirstName], {{name}}, %FNAME%, *|FNAME|* (Mailchimp), and similar. Subject lines with the recipient's first name see 10-20% higher open rates on average. The analyzer detects all common token formats and gives a bonus when one is present.
Does the analyzer work for non-English subject lines?
Partially. Length, word count, emoji count, CAPS ratio, and personalization-token detection work in any language. Spam triggers and sentiment scoring are English-only - the wordlists are English. Non-English subjects will get inflated scores in those two categories.
Is the score saved or shared?
No. Each analysis hits a Cloudflare Worker that scores your subject line and returns the result - nothing is logged, stored, or correlated. You can use the tool unlimited times without an account.
Test variants instead of guessing
Score one subject line here. Run real A/B tests in MiN8T - subject-line variants ship with the campaign, results land in the analytics tab. No external tool, no UTM-tagging gymnastics.
Open MiN8T Editor →