Text against markup
Measures how much of what you paste is real sentences and how much is tags and styling. A genuine one-to-one note is mostly text.
Free tool · no upload
Paste your email's raw HTML below to check text-to-HTML ratio, image and link counts, and tracking pixels before you hit send, the structural signals mail providers use to tell a genuine one-to-one message from bulk or template mail. Nothing is uploaded; it all runs in your browser.
<img src="…/banner.jpg" width="600">
<a href="…/c/1" style="…">Book a demo</a>
<a href="…/c/2" style="…">See pricing</a>
<img src="…/o.gif" width="1" height="1">
Measures how much of what you paste is real sentences and how much is tags and styling. A genuine one-to-one note is mostly text.
Counts images and links, and spots 1x1 images that load silently to track opens. It also shows which domains your links point to.
The HTML is read in your browser. Nothing you paste is uploaded or stored, so it is safe to try on a real draft.
Most HTML email checkers are built for marketing sends, they preview how a newsletter template renders in Gmail, Outlook, and mobile clients. Cold outreach has a different failure mode: the goal isn't rendering fidelity, it's looking like a genuine message from one person to another rather than a templated blast. Spam filters and recipients both pick up on the same structural tells, a low text-to-HTML ratio, several tracking links or a tracking pixel, and heavy inline styling all read as bulk mail, even when the copy itself is personalized.
Checking the raw HTML catches what a visual preview won't: a stray tracking pixel left in from a template, a logo added to the signature, or more links than you can see on screen. Run it when you build a sequence template, and again whenever you change the signature or paste in a section from a marketing template.
Marketing-email guidance often quotes a 60% text to 40% images split. That is vendor advice, not a threshold any mailbox provider publishes, and it describes text against images. This checker measures something different: the characters of readable text divided by the characters in the whole HTML source. A plain message with a short signature scores high. The moment it picks up a banner, buttons or a footer of social icons, the markup swamps the text and the ratio drops. The tool flags a ratio below 15% as a warning and below 5% as a failure. Those cut-offs are this tool's own. If it flags a low ratio, the fix is usually to strip a logo or signature image, not to add more text.
Links work the same way. A personal email rarely contains more than one or two; five or six, especially wrapped in redirect or tracking domains, looks like mass mail. Run your subject line and body copy through the spam word checker at the same time, and check your sending domain's authentication with the free deliverability checker. HTML structure is one signal among several, and none of them fix a domain with no SPF/DKIM/DMARC or no warmup history. For the full setup, see our cold email setup guide, or see Warmerly plans if you want warmup and authentication monitoring automated instead of checked by hand.
Paste the raw HTML and the tool parses it in your browser. Nothing is uploaded and there is no signup. It then applies these checks, each with a fix:
A message that passes every check can still reach spam if the sender is the problem. Read the subject and body with the spam word checker, and see Warmerly pricing if you want the sender side handled for you.
In Gmail, open the email, click the three-dot menu, and choose "Show original", copy the HTML block from there. In Outlook on the web, open the message, choose the three-dot menu, then View, then View message source. In classic desktop Outlook the route is Actions, then Other Actions, then View Source, and the exact menu names vary by version. Accounts connected over IMAP may only show the headers, so if you cannot see the HTML, send the email to a Gmail address and open it there. Copy the HTML part into the box above. The raw source also contains headers and addresses, so paste only the HTML if you plan to share it.
A cold email with lots of images, links, or heavy inline styling reads as bulk or marketing mail rather than a genuine one-to-one note, and that bulk-mail signal is one of the stronger ones spam filters weight. Tracking pixels (tiny 1x1 images used to detect opens) are increasingly flagged by Gmail and Outlook on their own, separate from the rest of the HTML.
Marketing-email guidance commonly recommends a text-heavy split, often cited around 60% text to 40% markup/images, to avoid looking like a bulk blast. For cold outreach specifically, aim even more text-heavy than that, a first-touch or follow-up email sent from a personal domain should look close to plain text with minimal formatting, not a templated newsletter.
Plain text (or HTML that renders as plain text, with no images or heavy styling) is generally safer for cold outreach. It matches how a real person emails another person, and it avoids the image/link/tracking-pixel signals this checker flags. Save designed HTML templates for newsletters and marketing sends where recipients expect a branded layout.
Tools like Litmus or a general HTML email tester are built to preview how a template renders across Gmail, Outlook, and mobile clients for a marketing send. This checker doesn't test rendering, it's built for cold outreach, scoring the structural signals (text-to-HTML ratio, image/link counts, tracking pixels) that make a one-to-one email look genuine instead of templated.
Mailbox providers publish no figure for it, and most numbers you will see come from sending vendors, so treat them as indications. What is solid is the mechanics: an open pixel is a hidden remote image on a third-party domain, which makes the message look more like marketing mail. It is also an unreliable measure, because some mail apps, such as Apple Mail with Mail Privacy Protection, load images automatically and register an open nobody made. Many cold senders switch tracking off and judge a campaign on replies.
Start with the tracking pixel and the link count, because they are quickest to remove. Then trim images and inline styling. A low text-to-HTML ratio usually clears once a logo, banner or social icons are gone. Treat every flag as a prompt to look at your template, not as a verdict from Gmail or Outlook.
No. It reads your HTML with the browser's own forgiving parser, so unclosed tags are not reported as errors, and it does not preview the email in different mail apps. For a rendering test use an email preview tool. This page only measures the structural signals that make a one-to-one email look templated.
No: the HTML is parsed entirely in your browser using the native DOMParser API. Nothing is sent to a server.
Check any domain's SPF, DKIM, DMARC, and MX records in seconds.
Validate an SPF record: one record, 10-lookup limit, and a safe ending.
Build a valid SPF record from your senders and IPs, with the lookup count.
Look up a DKIM key by selector and check its type, size and test mode.
Look up a DMARC policy, reporting address, pct and alignment.
Build a DMARC record, starting at p=none with reports, in plain words.
List a domain's mail servers in priority order and spot a missing or null MX.
Check a BIMI record's logo and certificate links, and whether DMARC is enforced.
Check a domain or mail server IP against Spamhaus, SURBL, URIBL and more.
Scan a subject line and email body for spam-trigger phrases.
Get a day-by-day sending ramp schedule for a new or existing mailbox.
InboxPulse checks SPF, DKIM, DMARC, and MX every day, and Warmflow automates warmup so cold email lands in the inbox instead of spam.