Email spam checker: what filters can actually see
Paste your email HTML and get the structural signals a receiving filter genuinely reacts to, plus an honest read on your subject-line tone — then, if you want it, a real SpamAssassin score. No word-list scaremongering, no invented percentages.
Free · no signup for the checks · your HTML stays in your browser
Why most “spam word” checkers are selling you folklore
The lists have been copied from blog post to blog post since the mid-2000s. The filters they described are gone.
The classic spam checker matches your subject against a few hundred words like free, guarantee and act now, and returns a percentage. It feels precise. It is not measuring anything: no mainstream filter decides placement on a subject keyword in isolation, and none of them publish a word list to check against. The percentage is invented.
What replaced keyword matching is authentication, reputation and engagement — none of which a word list can see. Word choice still matters, to humans: copy stuffed with ACT NOW reads like a blast, and subscribers are the ones who then ignore it or hit report. So we flag promotional wording as a tone signal, say exactly why, and never turn it into a score.
What actually decides where your email lands
Roughly in order of how much it matters, and how much of it you control.
- 1
Authentication
SPF says which servers may send as your domain, DKIM signs the message, and DMARC ties them together. Missing or misaligned, bulk mail from your domain is filtered or rejected outright. A one-time fix in DNS.
- 2
Reputation and engagement
Receivers score your domain and IP on history: complaint rate, spam-trap hits, bounce rate, and whether recipients open, click and reply. Sending only to people who asked moves this more than any edit to your HTML will.
- 3
The message itself
A working one-click unsubscribe, a real text-to-image balance, a plain-text alternative, and no placeholder hrefs. This is the part these tools can check — necessary, and the smallest of the three.
What a SpamAssassin score is, and is not
SpamAssassin adds up rule hits — HTML-to-text ratio, suspicious headers, known-bad URL patterns — into one number, and most installations treat 5.0 as the cut-off. But it is not Gmail: Gmail, Outlook.com and Yahoo each run proprietary systems with signals SpamAssassin cannot see, starting with your reputation with them. Treat a clean score as “no obvious structural red flags”, never as a delivery guarantee.
- Every rule that fired, with the points it added and a plain-English explanation
- Preview-only rules (NO_RECEIVED, NO_RELAYS, MISSING_DATE) labelled as artefacts of testing without a real send
- No stored copies: the score is computed and shown, nothing is retained
The structural fixes that are worth your time
Five things account for most of what a pre-send check can honestly find: a working one-click unsubscribe, a real balance of live text and images, no placeholder hrefs left in the template, every image on https, and an email under Gmail's 102KB clip so your footer is not hidden behind “View entire message”.
- Checked instantly and locally, on pasted HTML or a dropped .eml
- Each finding says what it found and where, not just that a rule fired
- The same checks run inside Proofel on every version of every email you share
A pre-send routine that works
Once: run the deliverability check on your sending domain, publish whatever is missing, and start DMARC at p=none. That afternoon of DNS work outranks every other item on this page.
Per campaign: clear the structural findings here, check the inbox row so nothing is cut mid-word, and look at the email in dark mode and with images blocked. Then send yourself a real test — the only way to see genuine headers.
Always: suppress hard bounces, drop addresses that have not opened in six months, never buy a list, and make unsubscribing one click.
More free email tools
Every one of these runs in your browser, needs no account, and has no usage limit.
Email spam checking, answered
- Is this spam checker free?
- The structural checks and the subject/preheader analysis are free, unlimited, and run entirely in your browser. The real SpamAssassin score needs a free account, because that check sends your email to Postmark’s public SpamCheck service and has to be rate-limited to somebody — 10 scores per hour per account.
- Do “spam trigger words” actually get emails filtered?
- Essentially no, not on their own. Since February 2024, Gmail and Yahoo have required bulk senders to authenticate with SPF and DKIM, publish DMARC with aligned domains, and stay under a 0.3% spam-complaint rate; Microsoft followed for Outlook.com in 2025. Placement is decided by that authentication, then by domain and IP reputation, complaint rate, and subscriber engagement — do people open, reply, or delete it unread? A well-authenticated sender with an engaged list can use the word "free" in a subject every week and land in the inbox; a cold list with no DMARC will not be saved by avoiding it. We flag promotional phrasing as a tone signal — copy that reads like a blast, which subscribers ignore or report — and we never turn that into a score.
- What does the SpamAssassin score mean?
- SpamAssassin adds up rule hits into a score; most installations treat 5.0 as the threshold. It is one widely-deployed open-source filter, not Gmail — Gmail, Outlook.com, and Yahoo all use their own proprietary systems. A clean SpamAssassin score means your HTML has no obvious structural red flags. It cannot tell you your reputation is good.
- Why do NO_RECEIVED and NO_RELAYS appear on every check?
- Because the test message was never actually sent. Received and Relay headers are added by mail servers in transit, so any pre-send check is missing them. Those rule hits will not apply to a real send, and we label them rather than letting them inflate your score.
- Does my email get uploaded?
- The structural checks and subject analysis never leave your browser. The SpamAssassin score is the one exception and only runs when you explicitly click "Run spam check" — the HTML is proxied to Postmark’s SpamCheck API and is not stored by us.
- What should I fix first if my email lands in spam?
- Authentication, before anything in the HTML. Publish SPF, publish DKIM, and get a DMARC record in place — our free deliverability check reads all three and gives you the exact TXT record to add. After that: keep a real text-to-image balance, include a working one-click unsubscribe, send to people who asked, and remove addresses that never open.
- Can I check a .eml file instead of pasting HTML?
- Yes. Drop a .eml export from your ESP or mail client and it is parsed in your browser, inline images included, then checked exactly like pasted HTML.
Checked clean? Now get it signed off.
Share the same email for review and approval: one link, feedback pinned to the pixel, and every sign-off on the record.
14-day all-access trial · no credit card required · reviewers never need an account