Email Spam Score Checker
Paste a raw email, an HTML body, or plain copy and get a 0-100 spamminess score with the exact rules, weights, and counts behind it — computed in your browser, never uploaded.
About this tool
Email Spam Score Checker gives you a private, deterministic pre-flight score for suspicious or draft email copy. Paste a raw RFC 5322 message, an HTML body, or plain text and it reports a 0-100 spamminess score where higher is worse.
The report is intentionally transparent: every fired rule is listed with its point value, so you can see whether the risk came from trigger phrases, uppercase shouting, link density, shorteners, suspicious headers, authentication failures already present in Authentication-Results, hidden HTML, or other explainable signals. It does not contact DNS, blacklists, seed inboxes, SMTP servers, or any reputation service.
Worked example
Paste this message and keep the default format=auto, report=detailed, and check_headers=true:
From: "[email protected]" <[email protected]>
Return-Path: <[email protected]>
Reply-To: [email protected]
Subject: Verify your account
Authentication-Results: mx.example.com; spf=fail; dkim=none; dmarc=fail
We detected unusual activity. Please confirm your account within 24 hours or your account will be closed.
http://192.0.2.9/login
The output highlights the score band, message stats, and rules such as authentication failure, From/Return-Path mismatch, Reply-To detour, credential-pressure phrases, suspicious TLDs, insecure links, and IP-address URLs.
Limits and edge cases
- The input cap is 1 MiB. Remove large quoted threads, inline base64 attachments, or long footers before scoring.
- Header checks only read headers that are already in the pasted message. The tool does not perform live SPF, DKIM, DMARC, DNS, blacklist, or reputation lookups.
- This is a transparent heuristic approximation, not a SpamAssassin score and not a deliverability guarantee.
report=jsonis intended for scripts and CI checks that want the same deterministic score and rule list.
FAQ
Is this the same as SpamAssassin or an inbox placement test?
No. It is a local heuristic checker with a published set of rules and weights. SpamAssassin, DNS reputation, RBL checks, and seed-inbox placement require server-side data or network lookups, which this browser-local tool intentionally does not use.
Why can a legitimate newsletter get a non-zero score?
Marketing email often contains some spam-like signals: many links, promotional phrases, unsubscribe headers, images, and tracking pixels. A non-zero score is not automatically bad; use the rule list to decide which signals are expected and which ones are worth changing.
What does the header checker actually verify?
It inspects pasted headers such as Authentication-Results, From, Return-Path, Reply-To, Message-ID, Date, Received, and List-Unsubscribe. It does not query DNS or validate cryptographic signatures itself; it only reads results already stamped by a mail gateway.
When should I use `format=html` or `format=text` instead of auto?
Use format=html when you paste only an HTML body and want HTML-specific rules such as image-heavy content, hidden text, tracking pixels, and anchor/href mismatches. Use format=text when the paste is plain copy with no headers and any angle brackets should be treated as text.
Developer & Automation Access
Run it from the terminal
Same engine as this page, headless — via the gizza CLI:
gizza tool email-spam-score 'From: Deals <[email protected]>
Subject: FINAL NOTICE!!
ACT NOW to claim your FREE GIFT of $50,000 CASH!!!'New to the CLI? Get gizza →
Open it by URL
Pre-fill and auto-run this tool with query parameters — the names match the API/CLI:
https://gizza.ai/tools/email-spam-score/?email=From%3A%20Deals%20%3Coffers%40grabber.top%3E%0ASubject%3A%20FINAL%20NOTICE%21%21%0A%0AACT%20NOW%20to%20claim%20your%20FREE%20GIFT%20of%20%2450%2C000%20CASH%21%21%21&subject=Your%20invoice%20for%20March&format=auto&report=detailed&check_headers=trueMachine-readable descriptor: tool.json — title + parameters JSON Schema for agents.
