Free local SPF tool
Build an SPF policy without hiding what cannot be simulated.
Start fresh or load a current TXT value, preserve its order, edit every supported mechanism with an explicit qualifier, and review lookup limits and the exact DNS diff before export.
One ordered policy
Add IPv4, IPv6, include, a, mx, exists, redirect, and all terms in their real evaluation order.
Conservative editing
Untouched imported terms round-trip exactly, while every change appears in a before-and-after diff.
No hidden DNS calls
The editor is local and labels lookup estimates that cannot be known without resolving DNS.
Guided policy order
Authorization terms
SPF evaluates mechanisms from left to right. Every editable mechanism shows its qualifier explicitly; imported raw spelling is retained until that term is changed.
The policy has no terms yet
Add only known sending sources, then choose an explicit all result after reviewing real mail evidence.
Before and after
Before
No existing record loadedAfter
v=spf1Removed terms
None
Added terms
None
Structural findings
- Note
SPF.TERMINAL.IMPLICIT_NEUTRALThe SPF record relies on the implicit neutral result
An explicit all mechanism or redirect modifier makes the intended default easier to diagnose.
- Blocking
SPF.BUILDER.EMPTY_POLICYAdd at least one policy term
A bare v=spf1 value falls through to implicit neutral and does not describe an intentional sending policy.
What this local editor cannot prove
- No DNS queries are made by this editor. Recursive include and redirect costs are not known until they are resolved.
- Void lookups are DNS outcomes and cannot be predicted from record text alone.
- An SPF pass or fail also requires the connecting IP, MAIL FROM identity, and HELO identity.
This is not an SPF pass/fail simulation. A real result needs the connecting IP, MAIL FROM identity, and HELO identity.