Authorize servers directly
ip4: and ip6: list addresses or ranges (e.g. ip4:203.0.113.0/24) and cost no DNS lookups. a authorizes the IPs of your domain’s A/AAAA records and mx the servers in its MX records — each costs one lookup.
Tick the services that send e-mail as your domain, add your own servers and get a single, valid SPF record ready to paste into your DNS. The generator counts DNS lookups as you go, so you stay under the limit of 10 that silently breaks SPF.
Runs 100% in your browser — nothing is uploaded
0 in this record · ≈0 estimated total incl. nested includes
Each include, a, mx, exists and redirect costs one lookup, and so does every include nested inside your providers’ records. The checker measures the real total.
TXT@@ means the root of your domain. Edit your existing SPF record instead of adding a second one.
v=spf1 ~all→ Verify the real lookup count with the free SPF, DKIM & DMARC checker
Perfect SPF, DKIM and DMARC do not stop bounces. Sending to invalid, disposable or abandoned addresses hurts your sender reputation just as much. Validate your list before the next campaign.
Your mailbox provider, newsletter tool, transactional service, CRM, helpdesk, website and billing system — anything that sends with your domain in the From or return-path.
Tick the presets and add your own IPs or includes. The record and the lookup count update live.
At your DNS provider, edit the existing SPF record or create a TXT record on the root of the domain (host @). Never publish a second SPF record — merge everything into one.
Run our free SPF, DKIM & DMARC checker: it follows every nested include and reports the real lookup total.
An SPF record starts with v=spf1, lists who may send for the domain and ends with an “all” rule for everyone else.
ip4: and ip6: list addresses or ranges (e.g. ip4:203.0.113.0/24) and cost no DNS lookups. a authorizes the IPs of your domain’s A/AAAA records and mx the servers in its MX records — each costs one lookup.
include:_spf.google.com pulls in the provider’s own SPF record, so you never have to track their IP ranges. Each include costs one lookup, plus every include, a, mx or exists inside it.
~all (soft fail) marks everything else as suspicious and lets DMARC decide — the usual choice. -all (hard fail) tells receivers to reject it outright. Never use +all (anyone may send as you) or ?all (neutral, protects nothing).
Evaluating SPF may take at most 10 DNS lookups (RFC 7208); one more and receivers return “permerror”, which counts as an SPF failure. And a domain may have only one v=spf1 record — two records are also a permanent error.
A TXT record on your domain that lists the servers allowed to send e-mail for it. Receivers compare the sending IP with the list; together with DKIM and DMARC it stops others from sending as your domain.
No. A domain must have exactly one TXT record starting with v=spf1. With two, receivers return a permanent error and SPF fails for every message. Merge all mechanisms into one record — that is exactly what this generator does.
Both are fine once DMARC is in place. ~all (soft fail) is the common recommendation because DMARC then makes the final decision and forwarded mail is less likely to be lost; -all (hard fail) is stricter and preferred by some providers. Never use +all or ?all.
RFC 7208 caps the DNS queries needed to evaluate an SPF record at 10. Every include, a, mx, exists and redirect counts — including the ones nested inside your providers’ records. Above 10, SPF returns permerror and fails.
Remove services you no longer use; replace a and mx with ip4/ip6 when the IPs are stable; move marketing tools to a subdomain with its own SPF record; or rely on DKIM for providers that sign with your domain. Avoid manual “flattening” of provider ranges — they change without notice.
Gmail and Yahoo (since February 2024) and Outlook.com (since May 2025) require both SPF and DKIM from bulk senders, and DMARC passes if either one is aligned. Having both is the safe default.
On the domain used in the return-path (envelope sender) — usually the root of your domain (host @). Some services, such as Amazon SES with a custom MAIL FROM domain, use a subdomain: the SPF record then goes on that subdomain.
No. The record is built entirely in your browser; nothing you type is sent to our servers.
A free account gives you 200 credits to validate e-mail lists in bulk, through the REST API or in real time on your forms.
Create free account — 200 creditsNo credit card. Credits never expire.