SPF record checker

Look up a domain's SPF record, validate its syntax, and count the DNS lookups it costs — including every nested include — against the limit of ten.

What this catches

Every problem below is one this tool detects and explains, with the record to publish.

Common questions

Why does my SPF record fail when it looks correct?
The most common cause is the ten DNS lookup limit. Each include costs a lookup, and every include pulls in that provider's own record, whose mechanisms count too. A record with six includes can easily need fifteen lookups. Once you exceed ten, receivers return a permanent error for all of your mail, not just the senders past the tenth lookup.
Can I have two SPF records?
No. The specification allows exactly one. When a receiver finds two it returns a permanent error and stops — it does not merge them or pick one. If a second sending service told you to add a TXT record, its mechanisms must be merged into your existing SPF record instead.
Should my record end in ~all or -all?
Start with ~all, which marks unlisted senders as a soft failure. Once you have confirmed over a week or two that no legitimate mail is failing, tighten it to -all for a hard failure. Never use +all, which authorises the entire internet to send as your domain.

Related tools