Inspect SPF lookup terms and the include tree. Review the limits and compatible flattening options.
Example
Lookup budget
of 10 lookups
Include tree
Flattening plan
Flattened record
The record, term by term
Findings
Capabilities and processing
Enter a domain or paste an SPF record. A domain is sent to our server, which reads its public TXT records and follows includes and redirects within its inspection limits. A pasted record is read in your browser; its includes are looked up the same way.
The result estimates lookup-causing terms against the SPF limit of 10, shows the include tree with the cost of each branch, flags void lookups, duplicate records, ptr, +all and typos, and proposes a flattening plan: which includes to replace with their IP ranges, the lookups left afterwards, and the record split into TXT strings.
Example workflow
The page opens on harbor-supply.example, a sample domain that needs 11 lookups. Open the plan to see which includes to flatten, copy the record, or use Heal it to apply a repair.
Limits and interpretation
A flattened record goes stale when a provider changes its ranges; re-check after provider changes. Macros are not expanded. Lookup counts follow RFC 7208: include, a, mx, ptr, exists and redirect count; ip4, ip6 and all do not. The application does not persist tool inputs or results.
The count is a bounded static expansion, not an SPF evaluation for a sender IP. Inspection stops after 100 nodes or 11 include levels. Address mechanisms and sender-dependent macros are not expanded. An earlier match can finish before the lookup limit. Flattening is offered only for fully inspected, compatible branches, with replacements kept in their original order.
Related tools
DMARC Checker inspects the domain policy. Email Header Analyzer reads the SPF result reported for a message.