Email List Splitter
Cut a big list into batches your platform will accept.
Validate SPF syntax and count the DNS lookups.
The SPF Record Checker validates an SPF record term by term and counts its DNS lookups against the limit of ten — the limit being what actually breaks most records, rather than a typo.
The SPF record that breaks is almost never the one with a typo in it. It is the one that grew past ten DNS lookups, because RFC 7208 caps an evaluation there and going over does not degrade gracefully — it returns a permanent error, and SPF stops passing for everything.
Paste your record and every term is listed with what it does, what it costs in lookups, and a running total against the limit. Includes, a, mx, ptr and exists each cost one; ip4 and ip6 cost nothing, which is why replacing an include with the ranges behind it is the usual fix.
The rest of the syntax is checked too — malformed IP ranges, unknown mechanisms, terms placed after "all" where they will never be read, the deprecated ptr mechanism, and a record long enough to need splitting into several strings. The "all" policy at the end is read back in plain English, since the difference between ~all and -all is the whole point of the record.
Which mechanisms cost a lookup, and the running total.
What each one authorises, in plain terms.
Anything after "all" is never evaluated, and is marked as such.
The difference between ~all, -all and ?all, spelled out.
It checks what you paste, so you can test before publishing.
The TXT value, with or without the surrounding quotes.
The running total against the limit of ten.
What it authorises and whether it costs a lookup.
Soft fail, hard fail or neutral, explained in plain terms.
RFC 7208 allows an SPF evaluation at most ten DNS lookups. Each include, a, mx, ptr, exists and redirect costs one, and nested includes count too. Exceed it and receivers return permerror, which in practice means SPF stops passing altogether.
Remove senders you no longer use, replace an include with the ip4 and ip6 ranges behind it where the provider publishes stable ranges, and flatten nested includes. IP mechanisms cost no lookups at all.
Start with ~all while you are still finding every system that sends as you. Move to -all once you are confident the record is complete — with DMARC in place, the practical difference is smaller than it used to be, but -all is the stricter statement.
No. A browser cannot make a DNS query without sending your domain to a third party, so this checks the record you paste. That also means it works on a record you are drafting and have not published yet.
What people who use the SPF Record Checker think of it. Reviews come from visitors and are posted as written.
No ratings yet
Yours would be the first.
0 reviews
Newest first
No reviews yet
Be the first to rate the SPF Record Checker. It takes half a minute and no account.
Write the first reviewCut a big list into batches your platform will accept.
Check a DMARC record and what it actually enforces.
Check a mailto: link and every address and field in it.
Spot throwaway and temporary mailboxes in a list.
Catch gmial.com, yahooo.com and every near miss.
Separate personal mailboxes from real business domains.
Test an address against the RFC rules, rule by rule.
Flag the addresses that look like traps before you send.