Skip to content

Free tool · no sign-up

SPF record checker

Short answerThe SPF checker finds a domain's SPF record, validates its syntax, expands every include and counts DNS lookups against the limit of 10, so you can see exactly why SPF passes or fails.

Lookups run in your browser through public DNS-over-HTTPS resolvers (Cloudflare, then Google). We don't store what you check. Privacy

How to use it

Reading the result

  1. 1

    Enter the domain

    Use the domain in your from-address, or the return-path domain your sending service uses.

  2. 2

    Check the lookup count

    Every include, a, mx, ptr, exists and redirect costs a lookup, including those inside includes. Over 10 is a permanent error.

  3. 3

    Read the include tree

    The tree shows which provider's include uses the most lookups, so you know what to flatten or remove.

  4. 4

    Fix and recheck

    Edit the single SPF TXT record at your DNS host, then run the check again.

SPF (Sender Policy Framework)
SPF is a DNS TXT record that lists the servers allowed to send email for a domain. Receivers compare the sending server's IP with the list; a record that is missing, duplicated or needs more than 10 DNS lookups makes SPF fail. More about SPF

FAQ

SPF checker questions

What is the SPF 10 lookup limit?

RFC 7208 limits SPF evaluation to 10 DNS-querying terms: include, a, mx, ptr, exists and redirect, counted across all nested includes. Past 10, receivers return a permanent error and SPF fails for every message.

Can I have two SPF records?

No. A domain must publish exactly one SPF record. With two, SPF fails with a permanent error. Merge them into one record with all the includes.

Should I use ~all or -all?

Both are fine when DMARC is in place. ~all (softfail) is the safer default while you are still finding all your senders; -all (fail) is stricter. Never use +all.

How do I fix “too many DNS lookups”?

Remove includes for services you no longer use, replace include:… with ip4: ranges for services with fixed IPs, or move some senders to a subdomain with its own SPF record.

Go deeper: SPF, DKIM and DMARC explained. Fix it for good with deliverability monitoring.