Skip to content
AdminKit
Live Updated October 21, 2026

SPF check: is your SPF record valid and under the 10-lookup limit?

Parses your domain's SPF record, follows include/a/mx/ptr/exists/redirect mechanisms through nested includes, counts DNS lookups against the RFC 7208 limit of 10, and explains the strength of the trailing "all" mechanism and what exceeding the lookup limit does to mail delivery for the whole domain.

What the result means

A "permerror" from exceeding 10 lookups behaves like having no SPF record at all to many receivers — fewer, consolidated include mechanisms are the usual fix.

Next step

Check DMARC to see what happens to mail that fails this, and DKIM for the other authentication signal.

How it works and limits

This tool parses your domain’s SPF (Sender Policy Framework) TXT record with AdminKit’s own code — no third-party mail-auth library — following every include, a, mx, ptr, exists and redirect term it finds, including through nested includes, to count how many DNS lookups evaluating the record actually costs.

Why the lookup count matters

RFC 7208 caps SPF evaluation at 10 DNS lookups specifically to bound the cost of checking a single record. A record that exceeds the limit is treated by receivers as a permanent error (“permerror”) — mail authentication effectively stops working for the whole domain, often silently, until someone notices deliverability dropping. Common causes are stacking too many third-party mail-sending services (include:) without consolidating them.

Reading the “all” mechanism

The trailing all term decides what happens to mail that matches nothing else in the record: -all (fail, reject), ~all (softfail, flag as suspicious), ?all (neutral, no real effect) or +all (pass — meaning anyone can send as this domain, almost always a mistake). No all term at all behaves like ?all.

Limits

  • This checks syntax and lookup count, not whether a specific sending IP would pass or fail — that depends on the full mechanism list and is better observed from real delivery reports (DMARC rua).
  • No query is logged; see /legal/privacy/.

Frequently asked questions

Why does SPF have a 10-lookup limit?

RFC 7208 caps the number of DNS lookups an SPF check may perform, to bound the cost of evaluating a single record.

What does ~all vs -all mean?

-all (fail) tells receivers to reject mail that does not match; ~all (softfail) asks them to flag it instead — -all is the stricter setting.