Free · live DNS count · no sign-up
Tick the services that send email for your domain. You get the record to paste into DNS and a live count of DNS lookups, so you know before saving whether it breaks the 10-lookup limit that silently kills most SPF records.
- Lookup limit
- 10DNS lookups a record may use
- Void lookups
- 2empty lookups before checkers stop
- String length
- 255characters per TXT string
- Records allowed
- 1SPF record per domain
Numbers from RFC 7208, the SPF standard.
v=spf1 include:_spf.google.com include:sendgrid.net ~allExample only: lookups shown are illustrativeWho sends your email?
Tick every service below. The record on the right builds as you go, and each include is resolved live so the lookup count is the real one.
0 of 10 within the limit · see recordYour record
v=spf1 ~all
DNS lookups used
Within the limit: 0 of 10 DNS lookups used.
- Within the 10-lookup limit.
- ~all (soft fail): unlisted senders are marked suspicious rather than rejected. The safe default while you're setting up.
Check my current record
Enter your domain to read the SPF record it publishes right now.
Full SPF, DKIM and DMARC check with a plain-English report: emailsgoingtospam.com
- include:_spf.google.com
- include:spf.protection.outlook.com
- include:zohomail.com
- include:secureserver.net
- include:servers.mcsv.net
- include:sendgrid.net
- include:mailgun.org
- include:amazonses.com
- include:spf.brevo.com
- ip4:203.0.113.5
- mx
- ~all
- -all
Publishing it
Three steps, then test.
How to add the record to your domain.
Open your DNS
Wherever the domain is managed: Cloudflare, GoDaddy, Wix, Namecheap, Squarespace. Look for DNS records or the advanced DNS editor.
Edit, don't add
If a record starting with v=spf1 already exists, replace its value. Two SPF records make both invalid.
Add the TXT record
Name @ (or your bare domain), value = the record above. Save, wait a few minutes, then run the full check.
The 10-lookup limit
Why most SPF records are broken without anyone noticing.
Every include in your record makes receivers look up another DNS record, and the includes inside those count too. Google Workspace plus Microsoft 365 plus a newsletter tool plus a CRM can pass 10 before you've listed everything. Over the limit, Gmail doesn't warn you; it just stops trusting the record. This generator resolves each include live and shows the real total.
The 10-lookup limit
Resolved live
Each include is fetched as you build, so the count reflects what the provider publishes today.
Typos caught
An include that publishes no SPF is flagged before you save it.
Verified after
The checker reads your live record and counts its lookups the same way.
Guides
Understand the record before you publish it.
Short, sourced guides straight from the SPF standard and the providers' own help pages.
FAQ
Questions
What is an SPF record?
A line of text in your domain's DNS that lists which mail servers may send email from your domain. Receivers like Gmail check it; mail from a server that isn't listed is more likely to land in spam or be rejected.
Why does the lookup count matter?
An SPF record may trigger at most 10 DNS lookups. Each include counts, and the includes nested inside those includes count too. Over 10, receivers treat the whole record as a permanent error and ignore it, which is worse than having none. This tool resolves every include live and adds them up before you save.
Where do I put the record?
In your domain's DNS, as a TXT record on the root name (shown as @ or your domain). Keep exactly one SPF record per domain; two records is invalid.
~all or -all?
~all (soft fail) marks unlisted senders as suspicious; -all (hard fail) rejects them. Start with ~all until every sender is in the record, then switch to -all.
Does SPF alone stop spam-folder problems?
No. You also need DKIM (a signature on each message) and DMARC (the policy that ties the two together). Check all three at emailsgoingtospam.com.
My provider isn't in the list
Paste its include into the 'other includes' box. The tool resolves it live and tells you if nothing is published at that name, which usually means a typo.
