Tool

Email spam words checker for the whole body, not just the subject

Paste the whole email, as plain text or HTML, and see every term that weighs on the filter marked where it appears, how many times it repeats, the full list by category, and the structure signals that count alongside it: links, capitals, images and unsubscribe. Free, no signup, and nothing leaves your browser.

Email spam words checker
Content risk-

  • - words read
  • - occurrences
  • - total weight
  • - weight per 100 words
  • - links

The text with the marks

heavy worn out

The six signals

  • Term density0/2
  • Words in capitals0/2
  • Excessive punctuation0/2
  • Suspicious links0/2
  • Text versus images0/2
  • Unsubscribe link0/1

What each signal found

    Terms found

    TermCategoryWeightTimes

    The full list, by category

    Every term the check looks for in the chosen language. Search a term or filter by category; the ones in your text show up highlighted.

    Money and credit

    Easy money and credit promises are the number one topic of email scams.

    • make money
    • extra income
    • fast cash
    • easy money
    • get rich
    • double your income
    • cash bonus
    • no credit check
    • pre-approved
    • credit card
    • lowest rate
    • work from home
    • $$$
    • eliminate debt
    • risk-free investment
    • cashback
    • installments

    Urgency and pressure

    Time pressure exists to stop people from thinking, and filters know it.

    • urgent
    • act now
    • buy now
    • order now
    • immediate response
    • today only
    • last chance
    • hurry
    • limited time
    • don't miss out
    • ends tonight
    • expires today
    • while supplies last

    Overpromise

    Absolute guarantees and free with no context are the promise that never delivers.

    • free
    • 100% free
    • guaranteed
    • risk free
    • risk-free
    • miracle
    • no catch
    • secret formula
    • money back
    • amazing
    • incredible
    • unbelievable
    • revolutionary
    • no obligation

    Prizes and giveaways

    Nobody wins a draw they never entered: it is the classic fraud hook.

    • you won
    • you've won
    • congratulations
    • winner
    • you have been selected
    • prize
    • claim your prize
    • giveaway
    • gift card
    • free gift

    Account and security

    Locked account and confirm your details language is the phishing template.

    • verify your account
    • confirm your details
    • update your information
    • account suspended
    • account locked
    • suspicious activity
    • password expired
    • unusual sign-in
    • validate your account

    Pushy call to action

    A call that does not say what happens after the click, it only says click.

    • click here
    • click below
    • call now
    • open immediately
    • shop now
    • grab yours
    • sign up free

    Health and body

    Weight loss and no prescription drugs are among the most filtered topics.

    • lose weight
    • weight loss
    • burn fat
    • no prescription
    • miracle cure
    • viagra
    • anti-aging

    Self incriminating notice

    Whoever needs to say it is not spam is describing spam.

    • this is not spam
    • not spam
    • this is not advertising
    • sent in compliance with

    Worn out promotion

    Does not sink delivery on its own; it wastes attention through repetition.

    • discount
    • offer
    • sale
    • clearance
    • save big
    • bonus
    • exclusive
    • deal
    • lowest price
    • cheap
    • free shipping

    Everything runs in your browser: the email text never leaves this page and no server is called. The risk measures CONTENT, with a fixed and reproducible rule. It does not predict whether the email will arrive, because delivery depends on domain authentication (SPF, DKIM and DMARC), sender reputation and list engagement, none of which live in this text box.

    Who this page is for: anyone who has already written the email and wants to review the BODY before sending, from greeting to footer. There is no subject score here: the tool counts repetition against the length of the text and looks at what only lives in the body, like shortened links, a link that shows one address and goes to another, emails built from images and a missing unsubscribe. If what you want to review is the subject line and preheader, with each email client's cut, the right place is the email subject line tester, which scans the subject with the same heavy versus worn out logic and also scores the line.

    Spam words exist, just not the way the lists sell them

    Search for "spam trigger words" and you find lists of 400 terms in alphabetical order, with no weight, no context, and "new" and "buy" somewhere in the middle. Following one of those to the letter produces worse email: you start writing around perfectly normal words and keep landing in spam, because the problem was never the word.

    A big mailbox provider decides mostly on who is sending. Since February 2024, Gmail and Yahoo require bulk senders to authenticate with SPF, DKIM and DMARC, offer one click unsubscribe and keep the spam complaint rate below 0.3%. Domain reputation and list engagement weigh more than any sentence.

    Text comes in a different way: as a pattern. Content classifiers were trained on billions of messages marked as spam and fraud, and they learned that certain families of terms travel together. A prize with details to confirm. Pre-approved credit with urgency. Free with a guarantee and click here. One term says nothing; the whole set repeated in a short text says a lot. That is why this tool measures occurrence and density, not just presence, and adds the structure signals that travel with those terms.

    How to use it

    1. Paste the whole email body into the box. Plain text works, and so does the HTML exported from your sending tool; with HTML the check also reads links and images.
    2. Check the text language. The list changes with it, so you can review a Spanish or Portuguese campaign from this page.
    3. When the text is not in English, keep add the English list ticked. "Free", "sale" and "click here" are common in campaigns in every language.
    4. Read the content risk and go straight to the 2 point signals. The details underneath say what each one found.
    5. Rewrite the marked passage and watch the risk drop live. In the full list, search for the term you were about to use before you write it.

    How it works: six signals adding up to 11 points

    The risk is not an opinion: it is the sum of six signals with a fixed rule, applied to the text a person reads.

    weight per 100 words = (sum of weight × occurrence) ÷ words read × 100, with heavy worth 2 and worn out worth 1
    term density: 0 below 1.5; 1 point from 1.5 to 4; 2 points from 4 up
    capitals: 0 with up to 2 shouted words (4 letters or more, acronyms like GDPR excluded); 1 point below 5% of words; 2 points above that
    punctuation: 2 points with a repeated mark (!!, ??); 1 point with 3 or more exclamation marks and more than 2 per 100 words
    links: 2 points with a shortener or a link whose text shows another domain; 1 point with 3 or more links and more than 4 per 100 words
    images (HTML only): 2 points with images and fewer than 50 words; 1 point with fewer than 50 words per image
    unsubscribe: 1 point when there is no unsubscribe link or text
    risk: 0 to 1 point is low; 2 to 4 is moderate; 5 or more is high

    Four decisions inside those rules are what set this apart from a plain list.

    It counts occurrences, not presence. "Free" six times in a short email is not the same as "free" once in a long one, and density is what tells the two apart. That is why words read is a central number in the result.

    The longest term wins. "Free shipping" carries a worn out weight and is not counted again as "free". "Satisfaction guaranteed" counts as "guaranteed", because the absolute guarantee is what weighs there.

    A link is not text. The link address is ignored by the scan: "bit.ly/anniversary-offer" does not count as the word "offer". It is also left out of the word count, and so is the merge tag, which never reaches the reader.

    Acronyms are not shouting. "GDPR", "HTML" and "FAQ" show up in legitimate email all the time. The capitals check starts at 4 letters and ignores the most common acronyms.

    Worked example (it reproduces the default result)

    The email already loaded is what a lot of stores send on an anniversary: a {{first_name}} greeting, congratulations on an account picked for an exclusive offer, today only, "for a limited time!!", click here with a shortened link and satisfaction guaranteed at the end. Checking what the tool shows, number by number:

    Notice that "offer" appears twice in what you pasted, once in the copy and once inside the link, and the terms table shows 1 time. That is the link rule at work.

    Now the fix. Replace the text with an email that says what it is, with a deadline instead of shouted urgency: "Donnu Store turns 5 this week, and every plan is 50% off until Sunday, September 21. Free shipping covers the whole country.", followed by a sentence about a refund within 7 days, the full link https://donnustore.com/anniversary and a footer with "Don't want these emails anymore? Unsubscribe here.". The risk drops to Low, with 1 of 11 points. That is 56 words, 1 worn out occurrence (free shipping) and weight 1, which gives 1 ÷ 56 × 100 = 1.79 per 100 words and keeps 1 point on density. Every other signal goes to zero.

    That remaining point is the lesson of the example: "free shipping" and "50% off" are still in the text, because they are the campaign. What left was the pattern around them.

    The nine categories in the list

    The full list lives inside the tool, with search and a category filter. The reasoning behind each category:

    Words like "new", "learn more", "unsubscribe" and "confirm your email" are left out on purpose. The last one is the line in a signup confirmation email, the healthiest email a list can get, and a list that flags it teaches you to write worse.

    How to read the result

    Low risk is not guaranteed delivery. It says the text does not carry the pattern. If the email still vanishes, the cause is authentication, reputation or the list, and no word swap fixes that.

    Heavy terms ask for a swap; worn out terms ask for restraint. A heavy term you remove or rewrite: "click here" becomes "see the plans", "guaranteed" becomes the concrete refund rule. A worn out term you keep when it is the information, and you cut the third repetition.

    The link signals are worth more than they look. A shortener and a link whose text shows another domain are the two signals closest to fraud, and the easiest to fix: you just change the address.

    Context changes everything in transactional email. A real security alert from your own system has to say "suspicious activity". There a moderate risk is expected, and the protection lives in domain authentication and in never asking for a password by email, not in hiding the word.

    Known limits

    The list is finite by design: around a hundred terms per language, picked for how often they appear in fraud and promotion, each with a weight. A thousand term list would catch more and get far more wrong.

    HTML is read the way an email is, not the way a browser renders it. The tool does not apply CSS, so it cannot tell whether an image has text baked in or whether a passage is white text on a white background. Background images set through styles are not counted as images.

    The risk does not know your brand or your history. The same text sent from a domain with years of good engagement and from a domain registered yesterday meets different fates, and that is exactly the part no text box can see.

    From a reviewed body to a tested email

    Reviewing the body is the floor. The next step is learning which version of the email actually earns the click and the sale:

    Frequently asked questions

    Which words send an email to spam?
    No single word sinks an email from a sender with a good reputation. What does exist are families of terms that show up constantly in scams and aggressive promotions: easy money and pre-approved credit, prizes and giveaways, locked accounts and details to confirm, absolute promises like free and guaranteed, and time pressure like today only and last chance. The tool sorts those families into nine categories and separates heavy terms, the fraud and filter pattern, from worn out ones, promotional words used so often they no longer promise anything. The risk comes from stacking and repetition, not from one isolated word.
    How is this different from the email subject line tester?
    The subject line tester scores one short line: length, the cut in each email client, capitals, emoji and preheader. This tool does not score a subject at all. It reads the whole body, counts how many times each term appears relative to the length of the text, and looks at what only exists in the body: shortened links, a link whose text shows one address and goes to another, emails made almost entirely of images, and a missing unsubscribe link. Use both before a big send: the subject decides the open, the body weighs on the filter and on the click.
    Why does "free shipping" weigh less than "free"?
    Because the longest term wins. "Free shipping" is store information, it shows up in every legitimate online store and it carries a worn out weight. A bare "free", without saying what is free, is the vague promise scams rely on, and it carries a heavy weight. When the tool finds "free shipping" it counts one occurrence of weight 1 and does not count the "free" inside it again. The same logic makes "100% free" weigh as one term, not two.
    My email scores low risk and still lands in spam. Why?
    Because what decides delivery today sits almost entirely outside the text. Since February 2024, Gmail and Yahoo require bulk senders to authenticate their domain with SPF, DKIM and DMARC, offer one click unsubscribe and keep the spam complaint rate below 0.3%. Domain and IP reputation, domain age, list engagement and sudden volume spikes weigh far more than any word. If the text is clean and the email still disappears, open Google Postmaster Tools, check the three authentication records and clean out the addresses that never open.
    Can I paste the email HTML?
    Yes, and it is the most complete way to use it. The tool recognizes HTML, drops the head, styles and scripts, and reads only the text a person sees, with entities decoded. Links come from the anchor tags along with their text, which is what lets it catch a link that shows one address and goes to another. Images are counted from image tags. Hidden preheader text is read too, because it shows up in the inbox.
    Do shortened links hurt deliverability?
    They do, and it is one of the cheapest signals to fix. A public shortener hides the destination, which is exactly why scammers use it: the same shortener domain appears in millions of messages from different senders, and part of them is fraud. Your link ends up judged by the company it keeps. Use the full link on your own domain, with UTM parameters if you want to measure, and leave click redirection to your sending tool, which uses its own tracking domain.
    Does the tool send my email to a server?
    No. The lists, the scan and the highlights all run in your browser with no network call. You can confirm it by opening the network tab while you paste the text, or by turning off the internet and using the page normally. That is on purpose: a campaign email that has not gone out yet usually carries prices, deadlines and coupons nobody outside the company should see.
    Embed this tool on your site

    Paste this snippet wherever you want the checker 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 email to a tested email program, continue with the complete guide to A/B testing in email marketing, see how to test a welcome email series and what to test in cart abandonment emails.

    Related tools

    See all tools →