VerifyEmail
Free tool

Free SPF Record Checker

Look up and validate any domain's SPF record before a broken one bounces your mail. Type your domain, sign up free, and the product checks syntax, the 10-DNS-lookup limit and your default policy — using your 250 free credits, no credit card required.

Checks run inside the product with your free credits — every new account starts with 250. No credit card required.

SPF is one third of email authentication. Also run the DKIM checker and the DMARC checker.

What the SPF check covers

Your record goes through the same evaluation a receiving mail server runs — plus the question authentication alone can't answer: where your mail actually lands. Every stage is covered by your free credits.

  1. 1 Record lookup

    Fetches the domain's TXT records

    Included in your free credits
  2. 2 Sanity

    Exactly one v=spf1 record

    Included in your free credits
  3. 3 Syntax

    Mechanisms, qualifiers, modifiers

    Included in your free credits
  4. 4 Lookup budget

    Recursive count vs the 10-lookup cap

    Included in your free credits
  5. 5 Policy strength

    What your “all” tells receivers

    Included in your free credits
  6. 6 Inbox placement

    Where your mail actually lands

    Included in your free credits

What is SPF and how do receivers use it?

SPF — Sender Policy Framework, defined in RFC 7208 — is a plain TXT record published on your domain that answers one question: which servers are allowed to send email as this domain? When your message arrives at Gmail or Outlook, the receiving server takes the IP address that connected to it, looks up the SPF record of the envelope sender's domain, and checks whether that IP is authorized. If it is, SPF passes; if not, the record's default policy (the all mechanism) tells the receiver how suspicious to be.

Since 2024, Gmail and Yahoo have required authentication from bulk senders outright — mail without SPF or DKIM increasingly doesn't get a spam-folder consolation prize, it gets rejected. A broken SPF record is worse than none in one specific way: a record that receivers can't evaluate (a permerror) makes your domain look misconfigured on every message you send.

How to read an SPF record

An SPF record is a single line that starts with the version tag v=spf1, followed by mechanisms read left to right: ip4: and ip6: authorize explicit addresses or ranges, a and mx authorize the hosts behind the domain's A or MX records, include: pulls in another domain's entire SPF record (this is how you authorize Google Workspace, SendGrid, or any other sending service), and exists: runs a conditional test. ptr also exists, but RFC 7208 deprecates it — it's slow, unreliable, and the SPF check flags it.

Each mechanism can carry a qualifier: + pass (the default), - fail, ~ softfail, ? neutral. In practice qualifiers matter on exactly one mechanism — the all that ends the record and catches every server not matched above it. -all says reject unauthorized mail, ~all says accept but flag it, ?all says nothing at all, and +all — which real records in the wild actually contain — authorizes the entire internet to send as you. Two modifiers round out the syntax: redirect= hands the whole evaluation to another domain's record, and exp= supplies a custom failure message.

The 10-DNS-lookup limit

Here's the rule that quietly breaks more SPF records than any syntax error: receivers will perform at most 10 DNS lookups while evaluating a record. include:, a, mx, ptr, exists: and redirect= each consume one; ip4:, ip6: and all are free. Cross the limit and the result is permerror — your SPF stops working entirely, on every message.

Includes are the killer because they nest. One include: costs a lookup, and then every lookup-consuming mechanism inside the included record counts against your budget too. A single vendor include can quietly cost three or four lookups. Sign up for a CRM, a helpdesk, a newsletter tool and a transactional provider, and a record that looks like four harmless includes can already be at nine or ten. The SPF check resolves the whole tree recursively and shows you the true count, so you know how much headroom you actually have before the next tool you adopt pushes you over.

Common SPF failures and how to fix them

  • Multiple SPF records. Two or more v=spf1 TXT records on one domain is an automatic permerror — receivers ignore all of them. It usually happens when a vendor's setup guide says "add this TXT record" and it gets added next to the existing one. Fix: merge every mechanism into a single record.
  • +all or a missing all. +all authorizes anyone on the internet to send as your domain; a record with no all and no redirect= never states a policy, so unknown senders default to neutral. Fix: end the record with ~all or -all.
  • Too many lookups. Over 10 and SPF permerrors. Fix: drop includes for tools you no longer use, replace a and mx with explicit ip4:/ip6: ranges, and flatten heavyweight includes into raw IPs (with a process for keeping them current — vendor IPs change).
  • Stale vendor includes. Every include is a standing grant of permission to send as you. Audit the record when you churn off a provider — an include for a tool you abandoned two years ago is pure attack surface and wasted lookup budget.

SPF vs DKIM vs DMARC

The three standards answer different questions and only work as a set. SPF authorizes sending servers. DKIM puts a cryptographic signature on each message, proving it came from your domain and wasn't altered in transit. DMARC sits on top and supplies the two things the others lack: alignment — the domain that passed SPF or DKIM must match the From address your recipients actually see, which is what finally stops display-name spoofing — and a policy telling receivers what to do when both checks fail, plus reports so you can see who's sending as you.

A useful mental model: SPF and DKIM are two independent proofs of identity, and DMARC is the enforcement layer that requires at least one proof to align. That's also why forwarding doesn't doom you — forwarding tends to break SPF, but DKIM usually survives, and DMARC only needs one. Check all three: this page for SPF, the DKIM checker for signatures, and the DMARC checker for policy and alignment. And keep the honest caveat in mind: a perfect SPF record proves who you are, not that your mail deserves the inbox — that's a deliverability problem, and it starts with the quality of the list you send to.

SPF passing but mail still bouncing?

Authentication gets you judged fairly; a clean list gets you delivered. Verify every address with SMTP-level accuracy before you send, starting with 250 free credits — no card required.

SPF record checker — FAQ

What is an SPF record?
SPF (Sender Policy Framework, RFC 7208) is a TXT record on your domain that lists which servers are allowed to send email as you — for example v=spf1 include:_spf.google.com -all. When your message arrives, the receiving server looks up that record and checks whether the connecting IP is on the list. It's one of the three authentication standards (with DKIM and DMARC) that mailbox providers now expect from every sender.
How do I fix “permerror: too many DNS lookups”?
SPF evaluation is capped at 10 DNS lookups, and every include:, a, mx, exists:, ptr and redirect= consumes one — including the ones nested inside each include. To fix it: remove includes for tools you no longer use, replace a/mx with explicit ip4:/ip6: ranges (which cost nothing), and consider “flattening” heavy includes into their raw IPs. The SPF check in the product counts your lookups recursively, so you can see exactly which record pushes you over.
Is ~all or -all better?
-all (hard fail) tells receivers to reject or junk anything you haven't authorized; ~all (softfail) says “accept it, but mark it.” In practice both are fine, because modern receivers make the real decision through DMARC rather than SPF alone. Start with ~all while you're confirming every legitimate sender is in the record, then tighten to -all. What you should never use is ?all (says nothing) or +all (authorizes the entire internet).
Do I need SPF if I already have DKIM?
Yes. DKIM proves a message wasn't tampered with and was signed by your domain; SPF proves the sending server was authorized. They fail in different ways — forwarding tends to break SPF while DKIM survives, and some mailing-list rewrites break DKIM while SPF passes — so DMARC only needs one of them to pass with alignment. Publishing both gives every message two chances to authenticate. Check your signatures with the DKIM checker.
Does SPF stop spoofing on its own?
No — and this surprises people. SPF checks the hidden envelope sender (Return-Path), not the From address your recipients actually see. A spoofer can pass SPF for their own domain while displaying yours in the From line. Closing that gap is exactly what DMARC alignment does: it requires the domain that passed SPF (or DKIM) to match the visible From domain. Validate your policy with the DMARC checker.
Can I have two SPF records?
No. RFC 7208 requires receivers to treat multiple v=spf1 TXT records as a permanent error — meaning all of them are ignored and your SPF silently stops working. This usually happens when a new email tool's setup guide says “add this TXT record” and someone adds it alongside the existing one. The fix is to merge: keep one v=spf1 record and combine the mechanisms, e.g. v=spf1 include:_spf.google.com include:sendgrid.net -all.
Is this free?
Yes — every new account starts with 250 free credits, no credit card required, and you can spend them on any check: email verification, SPF/DKIM/DMARC checks, inbox placement tests. Type your domain above, sign up, and the product runs the full SPF evaluation with those credits.
My SPF passes — why does my mail still land in spam?
Because SPF is table stakes, not a ranking factor. Passing authentication just means providers know the mail is really from you; whether it reaches the inbox depends on your sender reputation — and nothing burns reputation faster than sending to invalid or abandoned addresses. If your record checks out but placement is poor, the next thing to audit is your list: run it through deliverability-focused verification before every send.

Authenticated is step one. Delivered is the goal.

A valid SPF record means providers trust who you are — a verified list means they trust what you send. Clean yours with VerifyEmail, starting with 250 free credits.

Includes 250 free credits · No credit card required