SPF Lookup - Free SPF Record Checker

Use our SPF record lookup tool to quickly verify your domain's SPF records. Ensure proper email authentication and reduce spam or spoofing risks

Global DNS propagation takes up to 48 hours!

Track global results with a DNS propagation checker!

An SPF lookup fetches a domain's Sender Policy Framework record: the TXT record, starting v=spf1, that lists which servers may send email for the domain. Receiving mail servers compare the sending server's IP against this list. This tool shows every SPF record published on the domain; the guide below explains how to read it and what to fix.

How to check an SPF record

  1. Enter the domain that sends the mail, e.g. example.com. SPF is checked against the envelope sender (Return-Path) domain, which is usually, but not always, the domain in the From address.
  2. Click Search. The tool queries the domain's TXT records and shows each one that starts with v=spf1.
  3. Read the record using the table below. If more than one record is shown, that is an error in itself.

Reading an SPF record

Take this example:

v=spf1 ip4:203.0.113.0/24 include:_spf.google.com include:sendgrid.net ~all

It says: mail may come from any address in 203.0.113.0/24, from any server Google lists for Google Workspace, or from SendGrid. Mail from anywhere else should be treated as suspicious (~all).

PartMeaningCounts toward 10-lookup limit?
v=spf1Marks the record as SPF. Must come first.No
ip4: / ip6:An allowed IPv4 or IPv6 address or rangeNo
aThe IPs in the domain's own A/AAAA records may sendYes
mxThe domain's MX servers may sendYes
include:Also allow whatever another domain's SPF record allows (used for email providers)Yes, plus every lookup inside it
exists:Pass if a DNS name exists; used by advanced setupsYes
ptrMatch on the sender's reverse DNS. Deprecated: slow and unreliableYes
redirect=Use another domain's SPF record instead of this oneYes
allMatches everything not matched earlier, so it goes lastNo

Each mechanism can carry a qualifier: + pass (the default), - fail, ~ softfail, ? neutral. That is why the ending matters: -all asks receivers to reject unlisted senders, ~all asks them to accept but mark the message, and +all allows anyone and should never be used.

Common SPF problems

  • Two or more SPF records. A domain may publish only one. With two, SPF returns a permanent error and fails. Merge them: one v=spf1, all the mechanisms, one all.
  • More than 10 DNS lookups. SPF evaluation may trigger at most 10 lookups (include, a, mx, ptr, exists, redirect, including those nested inside includes). Over the limit, SPF fails. Remove services you no longer use, or replace includes with ip4/ip6 ranges where the provider publishes fixed ones.
  • A sending service is missing. Newsletters, CRMs, helpdesks and invoicing tools often send as your domain. Each one needs its include, or must send with its own Return-Path domain.
  • SPF on the wrong name. SPF applies to the exact domain checked. news.example.com needs its own record if it sends mail; it doesn't inherit one from example.com.
  • Expecting SPF alone to stop spoofing. SPF checks the hidden envelope sender, not the From address people see. DMARC ties SPF and DKIM to the visible From domain.

SPF includes for common email services

ServiceMechanism to add
Google Workspaceinclude:_spf.google.com
Microsoft 365include:spf.protection.outlook.com
Amazon SESinclude:amazonses.com (on the custom MAIL FROM domain)
SendGridinclude:sendgrid.net

Always confirm the current value in your provider's documentation; providers occasionally change them.

Frequently asked questions

Can a domain have two SPF records?

No. If a domain publishes more than one v=spf1 record, SPF evaluation ends in a permanent error and the check fails. Combine all mechanisms into a single record.

Should I use ~all or -all?

-all asks receivers to reject mail from servers not in the record; ~all asks them to accept it but treat it as suspicious. Many domains use ~all and let a DMARC policy decide what happens to failures. Use -all once you are sure every legitimate sender is listed.

What is the SPF 10 DNS lookup limit?

Checking an SPF record may cause at most 10 DNS lookups. Every include, a, mx, ptr, exists and redirect counts, including the ones inside included records. Exceeding the limit makes SPF fail with a permanent error.

How do I add SPF for more than one email service?

Put them all in the same record, for example v=spf1 include:_spf.google.com include:sendgrid.net ~all. Don't create a second SPF record for the new service.

How long does an SPF change take to work?

Until resolvers' cached copies of the old TXT record expire, which depends on its TTL. You can watch the update with the DNS propagation checker using the TXT record type.