Free tool · 100% in-browser
SPF checker & lookup counter
Paste an SPF record or look up a domain to see whether it's valid and — critically — how many of the 10 allowed DNS lookups it uses. Going over the limit causes a PermError that can fail your SPF outright. Parsed in your browser; nothing is uploaded.
SPF checker FAQ
What does the SPF lookup counter do?+
SPF allows a maximum of 10 DNS-lookup mechanisms — include, a, mx, ptr, exists and redirect each count as one. Exceed 10 and receivers return a PermError, which can fail your SPF entirely. This tool counts the lookups in your record and flags when you're near or over the limit.
Why is my SPF returning PermError or 'too many DNS lookups'?+
Almost always because the record (often through nested include: statements) resolves to more than 10 DNS-lookup mechanisms. The fix is to remove unused includes, consolidate senders, or flatten the record to ip4/ip6 entries, which don't count toward the limit.
Does this resolve nested includes?+
It counts the lookup-incurring mechanisms in the record you give it. Each include: can itself pull in more lookups from the provider's record, so the real total can be higher. Treat this count as the floor, and remove includes you don't need.
Should I use -all or ~all?+
Use -all (hardfail) once you're confident every legitimate source is listed — it tells receivers to reject mail from anything else. Use ~all (softfail) while testing. Avoid +all entirely: it authorizes the whole internet to send as your domain.
Related: DMARC checker · authentication in PowerMTA