SPF record checker
In short: Free SPF record checker: see a domain's SPF record mechanism by mechanism, count its DNS lookups against the limit of 10, and get plain-English fixes. Limit: It reads the record. It does not send a test message, so it can't tell you whether a given server's mail actually passes SPF.
An SPF checker reads a domain's SPF TXT record and reports which servers it authorises to send mail and what should happen to everything else. To check an SPF record, enter the domain above. You see the raw record, each mechanism explained, the DNS lookup count against the limit of 10, and the faults flagged: no record, two records, +all or ?all.
Free, no account. Follows every include from a public resolver. Ten lookups a minute.
By SimpleVerifier Team · Last updated
Also in: Português (Brasil) · Español
Sample result
acme.example has an SPF record that soft-fails unlisted senders (~all).
- Domain
- acme.example
- Include
- _spf.google.com
- All
- ~all (soft fail)
What this means for you
SPF lists who may send for the domain; ~all marks other senders as suspect instead of rejecting them.
- Shows the raw SPF TXT value
- Flags a missing or duplicate record
- Flags soft-fail and missing all policies
- Nothing is sent to the domain
- SPF
- TXT record
- DNS
How do I read an SPF record?
Read it left to right: version, then the senders it authorises, then the policy for everyone else. A record like v=spf1 include:_spf.google.com ip4:203.0.113.5 ~all has three parts. The version tag is always first. The mechanisms in the middle authorise senders: include: delegates to another domain's record, ip4: and ip6: name addresses directly, a and mx authorise the domain's own hosts.
The final qualifier decides what happens to servers not on the list, and it is the part that carries the policy. -all is a hard fail, telling receivers to reject. ~all is a soft fail, meaning treat as suspicious but accept. ?all is neutral and provides almost nothing. +all authorises the entire internet and should never appear in a real record.
What is the SPF 10 lookup limit?
RFC 7208 permits a maximum of ten DNS lookups when evaluating a record, and each include:, a, mx, ptr and exists mechanism costs one. Chain too many and the whole record fails with a permanent error (permerror): receivers do not simply ignore the extras.
This is the most common way a working SPF record silently breaks. Adding a fifth or sixth email vendor is usually what pushes it over, and the symptom is authentication failures on mail that was fine last month. Flattening the record, or consolidating vendors, is the fix.
Why is SPF alone not enough?
Because it can be passed by a spammer and it breaks on forwarding. SPF validates the envelope sender, not the From address a recipient actually sees. A spammer can pass SPF for a domain they control while displaying yours in the From header, and SPF has no opinion about that at all.
It also breaks on forwarding: when a message is forwarded the sending IP changes, so SPF fails even though the mail is legitimate. DKIM survives forwarding, and DMARC is what ties either of them to the visible From address. All three together are the working configuration.
How do I check my SPF record?
- Type the domain into the box. Use the domain in your From address, or the bounce domain your email service uses.
- Press Check SPF. The tool fetches the domain's TXT records and finds the one starting
v=spf1. - Read the verdict, the record mechanism by mechanism, and the DNS lookup count against the limit of 10. It flags a missing record, two records,
+all,?alland a record with noallat the end. - If a sender is missing, rebuild the record with the SPF generator and check again once DNS updates.
Example
- You enter
- The domain
acme.example. - You get
- SPF record found:
v=spf1 include:_spf.google.com ~all. It soft-fails unlisted senders (~all), marking them suspect instead of rejecting them. - Limits
- Ten lookups a minute per IP address, one domain at a time; a DNS lookup only.
Who uses this tool, and for what?
- IT admins
- Check the record after adding a new sending service, and before the change reaches users, to catch a second
v=spf1record that breaks SPF entirely. - Cold emailers
- Confirm each outreach domain authorises its mailbox provider before warm-up starts. A missing record is one of the most common reasons new domains land in spam.
- Agencies
- Audit a new client's domain in seconds and send them the raw record with the problem marked.
What can’t this tool tell you?
- It reads the record. It does not send a test message, so it can't tell you whether a given server's mail actually passes SPF.
- SPF checks the envelope sender (Return-Path), which is often your email service's domain rather than yours. Check that domain too.
- A record that looks right can still exceed the ten-lookup limit once nested includes are counted.
- DNS answers are cached, so a change made minutes ago may not show yet.
Sources
Common questions
- How do I check my SPF record?
- Paste your domain into the tool above. It looks up the TXT records, finds the one beginning v=spf1, explains each mechanism, counts the DNS lookups the include chain costs, and lists what to fix in plain English. You can also check any domain you do not control.
- What does ~all mean in an SPF record?
- It is a soft fail. Mail from a server not authorised by the record should be accepted but treated as suspicious, usually meaning it is more likely to be filed as spam. `-all` is the stricter form and asks receivers to reject outright; most organisations move from ~all to -all once they are confident every legitimate sender is listed.
- What does SPF check failed mean?
- The server that sent the message is not authorised by the SPF record of the envelope sender's domain. The usual causes are a sending service that was never added to the record, a record over the ten-lookup limit, or a message forwarded through another server.
- How do I check an SPF record with nslookup?
- Run nslookup -type=txt example.com, or dig txt example.com on Mac and Linux, with your domain in place of example.com. Look for the one TXT record that starts v=spf1. If two start v=spf1, SPF fails for every message until you merge them.
- How do I check SPF, DKIM and DMARC records together?
- Run the deliverability audit, which checks MX, SPF, DKIM, DMARC and blocklists for a domain in one pass. To see whether they passed on a specific message, paste its headers into the email header analyzer.
- Can a domain have two SPF records?
- No. Publishing two records beginning v=spf1 is invalid and causes SPF evaluation to fail entirely, so the effect is worse than having one imperfect record. If you need to authorise an extra vendor, add its mechanism to the existing record rather than publishing a second one.
- What is the SPF ten-lookup limit?
- SPF allows at most ten DNS lookups per evaluation, and each include, a, mx, ptr and exists mechanism consumes one. Exceeding it makes the record fail with a permanent error rather than partially applying, and adding one vendor too many is the usual cause of SPF that worked until recently.
How do I check MX, SPF, DKIM and DMARC at once?
Run the deliverability audit: this page covers one record, and the full deliverability audit runs MX, SPF, DKIM, DMARC and blocklists together and scores the domain. Just bought a domain to send from? The new domain email setup check checks up to 25 at once and gives the exact Google Workspace, Microsoft 365 or Zoho records to add, or read the glossary entry for the concept behind this check.
Embed this tool on your site
Paste this code into any page to give your readers the SPF record checker for free. The frame resizes to fit and works on light and dark pages. Keep the link under it so readers can find the full guide. More tools to embed are on the embeddable tools page.
<iframe src="https://simpleverifier.com/embed/tools/spf-checker" title="SPF record checker by SimpleVerifier" data-sv-embed="spf-checker" width="100%" height="640" loading="lazy" allow="clipboard-write" style="border:0;width:100%;max-width:760px;display:block"></iframe>
<p style="margin:6px 0 0;font-size:13px"><a href="https://simpleverifier.com/tools/spf-checker">Free SPF record checker by SimpleVerifier</a></p>
<script>(function(){if(window.__svEmbed)return;window.__svEmbed=1;window.addEventListener("message",function(e){if(e.origin!=="https://simpleverifier.com")return;var d=e.data;if(!d||d.type!=="simpleverifier:embed-height"||typeof d.slug!=="string"||typeof d.height!=="number"||!isFinite(d.height))return;var f=document.querySelectorAll("iframe[data-sv-embed]");for(var i=0;i<f.length;i++){if(f[i].contentWindow===e.source){f[i].style.height=Math.min(Math.max(Math.ceil(d.height),200),4000)+"px";}}});})();</script>You audited one domain. Cold outreach means thousands.
This tool checks a domain you type in. It will not tell you which addresses at that domain are real.
- Bulk mailbox verification with real SMTP checks
- The email finder — name plus company to a verified address
- Website enrichment for emails, owner names and socials
Plans from $9 a month, cancel anytime, no contract. Sign in with Google and your first 100 email checks are free, no card. The free tools stay free either way.