Tool

Email subject line tester: see the line before the whole list does

Write your subject and preheader and get a score, the words that weigh on spam filters, and the exact line six email clients show, with each one's cut. Free, no signup, and nothing leaves your browser.

Email subject line tester

Goes in place of the merge tag. It is the text your reader gets, and it is what the inbox truncates.

Subject line score-

  • - characters sent
  • - words
  • - preheader characters
  • - cut on mobile

The line in the inbox

This line is what decides the open. Switch clients and watch the cut move.

09:12

The same subject across six clients

ClientWhat shows upCut

The ten checks

  • Subject length-
  • Promise before the cut-
  • No filter words-
  • No shouted word-
  • Punctuation under control-
  • Emoji in moderation-
  • Word count-
  • Concrete detail-
  • Personalization-
  • Preheader that adds-

What the tool found

    Everything runs in your browser: the subject never leaves this page and no server is called. The score measures the FORM of the line, which is what you control, and it is reproducible: the same subject always returns the same number. It does not predict open rate, because opens depend on sender, sending reputation, list history and timing, none of which live in this text box.

    Who this page is for: anyone about to hit send today who wants to look at the line first, the way it will actually arrive. The tool measures the whole subject: length, word order, capitals, emoji, punctuation, personalization and preheader, plus the per client preview. If your question is which of two subjects sells more, rather than whether this one is well written, the route is the email test sample size calculator, which tells you how many subscribers each version needs. If the problem is not the subject but the email body landing in spam, the email spam words checker scans the whole text and marks every term that weighs on the filter. And if you are writing an article headline rather than a subject line, the SERP snippet preview measures the cut that matters on a results page, which is a different one.

    The subject line is the only part of your email everyone reads

    An email has body copy, an image, a button and a footer. None of it exists until somebody opens, and the decision to open is made on one line, inside a list of other lines, usually on a phone, in under a second. It is the cheapest thing in your email program to fix and the thing almost nobody reviews with any rigour, because there is nowhere to review it: your sending platform shows a wide white text field that looks nothing like the inbox on the other end.

    The result is a mistake that repeats every month. The subject is written in a 700 pixel field, approved on a desktop, and lands in a list where it has 35 characters to explain itself. The promise was at the end of the sentence. Nobody saw it.

    This tool does two things your editor does not: it shows the line the way it arrives, client by client, and it tells you where the line is spending characters on noise instead of promise.

    How to use it

    1. Write the subject the way you would send it, merge tags and all. If you use {{first_name}}, *|FNAME|* or a similar format, the tool recognizes it and swaps it for the sample name before measuring.
    2. Write the preheader. Do not skip this field: it is the second most read line in your email, and leaving it blank hands that line to the "view this email in your browser" notice.
    3. Adjust the sample name. Try a short one and a long one: both exist in your list and they move the cut.
    4. Walk through the email client selector and watch the inbox line change. Then read the table with all six at once.
    5. Fix whatever shows up in the ten checks and the warnings, starting with the heaviest failed check. The score moves right away.

    How it works: ten checks that add up to 100

    The score is not an opinion: it is the sum of ten measurements with fixed weights, applied to the subject with the name already filled in.

    score = length (16) + promise before the cut (12) + filter words (16) + capitals (8) + punctuation (8) + emoji (6) + word count (8) + concrete detail (8) + personalization (6) + preheader (12)
    length: full 16 points between 28 and 50 characters; outside the range, minus 0.6 per missing character and minus 0.5 per extra one
    promise before the cut: whole content words inside the first 35 characters (2 or more = 12; 1 = 6; none = 0)
    filter words: 16 minus 5 per heavy term and minus 3 per worn out term, never below zero
    preheader: 6 for existing, plus 3 for landing between 40 and 100 characters, plus 3 for not repeating the subject

    Three decisions inside that math are worth explaining, because they are where similar tools get it wrong.

    The cut is hard, at the character, with no respect for words. The inbox truncates mid word, unlike a Google results page, which usually lets the last word finish. That is why the preview here shows half a word: that is what actually happens. The promise before the cut check, in contrast, throws the split word away on purpose, because half a word communicates nothing.

    A character is a perceived character. An emoji counts as one, an accented letter counts as one, and a flag counts as one, which is how a human counts and how the email client truncates. A counter that uses the raw programming language length says your flag eats four characters of budget, and you end up trimming copy that fit.

    The language list is added to the English list. Campaigns in Portuguese and Spanish use "free", "sale" and "act now" constantly, and a checker that only looks at its own language walks straight past the most flagged terms there are.

    Worked example (reproduces the default output)

    The subject already loaded is the one every store sends on promo week: LAST CHANCE: 50% off everything, today only!! 🔥, with the preheader "Last chance to grab 50% off everything. Today only.". Checking what the tool shows, number by number:

    Now walk the client selector without touching anything else. On Gmail on iPhone the line arrives as "LAST CHANCE: 50% off everything, to" and 12 characters disappear, taking the "today only" that was the whole reason for the urgency. On Apple Mail on iPhone 9 disappear, on Gmail on Android 5, and only from Outlook desktop on does the line show in full. Notice what survives everywhere: the shouted part. What goes missing is the information.

    Now the fix. Swap the subject for {{first_name}}, 50% off everything until Sunday and the preheader for "Coupon applied at checkout, nothing to type in.". The score goes to 100, band A, with 37 characters sent (you wrote 47, and the line under the score says so) and 6 words. All ten checks fill up, the findings list shows only the {{first_name}} tag as information, and just 2 characters get cut on the tightest client. Nothing was invented: a deadline replaced the shouted urgency, and the coupon objection moved to the preheader, which was only repeating before.

    The six clients and why they disagree

    These are the values the tool uses, checked in September 2026. No email client publishes this as a contract, and they all change the list without notice, so treat them as orders of magnitude. What has been stable for years is the ordering: phones truncate far earlier than desktops, and the gap between the extremes is a factor of two.

    How to read each number

    The score measures the set; the cut is a separate reading. You can score 100 and still lose characters on Gmail for iPhone, because the 28 to 50 range protects readability, not total fit. When that happens, read the sentence that disappears under the preview: if what you lose is trailing detail, fine; if it is the promise, the word order is wrong, not the length.

    Heavy and worn out are different problems. Heavy is a term that shows up in filter rules and you want it out. Worn out is a term so repeated it no longer promises anything: it does not sink delivery, it costs attention. Trading "discount" for "50% off everything" is not dodging a filter, it is saying something.

    Promise before the cut is the cheapest check to fix. It asks for no new words, it asks for order: moving what matters to the front costs one edit and buys back 12 points. It is the opposite of the writer reflex, which likes to save the good part for the end.

    Personalization is the one check you can skip on purpose. Plenty of excellent lines carry no name tag at all, and forcing an "Alex," onto the front of an operational notice reads as fake. If you decided not to personalize, take the 6 point hit and move on: the score is a ruler, not an order.

    Known limits

    The biggest limit is what the score cannot see. It does not know whether your promise is true, whether the sender has reputation, whether the list knows you, or whether the email lands at three in the morning. A bad subject sinks a good email, but a good subject does not rescue a sender with a delivery problem, and no text score will warn you about that.

    The per client measurements are reference points, not contracts. The same line truncates differently depending on screen size, list density, chosen theme and app version, and the vendors change those layouts without announcement. The difference between 35 and 38 characters changes no writing decision; the difference between 35 and 70 does, and that is why the table exists.

    The word lists are finite by choice too. They carry the terms that recur in filter rules and the worn out terms of promotion, and they deliberately leave out things like "off", "new" and the percent sign itself, which are information rather than noise. A checker that flags "50% off" as an alarm trains you to write worse.

    From a reviewed subject to a tested one

    Reviewing is the floor. Once the line fits and stops shouting, the question becomes which version actually opens better, and the answer there is a test, not a score:

    Frequently asked questions

    What is the ideal length for an email subject line?
    Between 28 and 50 characters, which is the range where the line arrives whole on a phone and still leaves room to promise something. The upper bound comes from the device, not from taste: Gmail on iPhone shows around 35 characters, and past that the difference is not between a good subject and a better one, it is between the promise your reader sees and the one they do not. The lower bound is about content: under 20 characters you have a label, not an argument. Notice one practical consequence of that math: a 48 character subject sits inside the range and still gets cut on a phone. The range protects readability; what protects the promise is word order.
    Do emoji in a subject line help or hurt?
    One emoji does not hurt and usually helps the line stand out in a list of similar senders. Three emoji hurt, and not because of filters: they eat width on the one line you get and push the promise past the cut. The tool gives full points for zero or one emoji, half for two and zero from three on, which is where the line turns into decoration. One detail almost no counter gets right: an emoji counts as one character here, which is how the inbox counts. A naive counter says your flag takes four, and then you trim good copy you did not have to trim.
    Does a word like free or discount send my email to spam?
    On its own, no. Modern filters decide on domain reputation, authentication, engagement history and sending patterns, and no single word sinks delivery for a sender with a healthy reputation. What does exist is accumulation: capitals, repeated punctuation, an inflated promise and three promotional terms in the same line add up to a pattern the classifier has seen millions of times. That is why the tool separates heavy from worn out. Heavy is a term that shows up in filter rules; worn out is a term so overused that it no longer promises anything, and its cost is conversion, not delivery.
    What is a preheader for?
    It is the grey line after the subject in the inbox, and it is the second most read line in your email. Leave it empty and the email client pulls the first sentence of your body copy, which is almost always "view this email in your browser" or the unsubscribe link. Writing one is mandatory; the common mistake is repeating the subject there. That is two slots where two arguments would fit, and the tool flags the repetition when 60% or more of the preheader content words already appeared in the subject. The right use is complementary: the subject opens the promise, the preheader kills the objection.
    Why does my subject get shorter when I enter a sample name?
    Because the merge tag is never sent: it is replaced by each person value at send time. If your line opens with a 14 character tag and the name is 6, the subject that lands is 8 characters shorter than what you wrote, and measuring the raw text makes the line look far too long. The tool swaps the tag for the sample name before counting and shows both numbers when they differ. Try a long name too: a twelve letter name moves the mobile cut, and that is what part of your list actually sees.
    Does opening with Re: raise open rates?
    It raises them once and costs you afterwards. Faking a prior conversation is the definition of a deceptive subject, and the bill arrives in two currencies: the person who opened and felt tricked hits the spam button more often, and the pattern is easy to spot on the provider side. The tool treats a Re: or Fwd: prefix with no prior conversation as a heavy marker and raises a warning. There is a legitimate use of the format, which is genuinely replying inside a thread. There the Re: is honest and nobody loses anything.
    Does the score predict my open rate?
    No, and be suspicious of any tool that promises it does. Opens depend on sender name, domain reputation, your list history with you, arrival time and how crowded the inbox is, and none of that lives in a text box. What the score measures is the FORM of the line, which is the part you control, and it does so reproducibly: the same subject always returns the same number. It is for comparing two of your own versions before sending and for catching the silly mistake. What answers which one actually opens better is a test, and for that the next stop is the email test sample size calculator.
    Does the tool send my subject line to a server?
    It does not. Everything happens in your browser: the word lists, the character counting and the inbox rendering run on your machine with no network call at all. You can confirm it by opening the network tab while you type, or by switching off the internet and using the page as normal. It is deliberate: a campaign subject that has not shipped yet is usually sensitive launch information, and the only honest way to promise privacy is to have no server in the path.
    Embed this tool on your site

    Paste this snippet wherever you want the tester to show up. The credit link under the frame helps us and you are free to keep it.

    Keep going

    To go from a reviewed subject to a tested email program, continue with A/B testing email subject lines, read the complete guide to A/B testing in email marketing, and see when it pays to switch to multi armed bandits for subject lines.

    Related tools

    See all tools →