Free tool

SPF Record Checker

Check any domain's SPF record in seconds. We count every DNS lookup against the 10-lookup limit, flag syntax problems, and test DKIM, DMARC and MX at the same time.

Checks SPF, DKIM, DMARC and MX records live. Free, no sign-up.

Basics

What is an SPF record?

SPF (Sender Policy Framework) is a DNS TXT record that lists the servers allowed to send email for your domain. Receiving mail servers look it up on every message.

  1. Step 1

    You send an email

    Your mailbox provider's server connects to the recipient.

  2. Step 2

    Receiver looks up SPF

    It fetches the TXT record that starts with v=spf1 on your domain.

  3. Step 3

    IP is compared

    The sending IP is matched against your includes, ip4, a and mx entries.

  4. Step 4

    Pass or fail

    A match passes. No match falls through to your ~all or -all rule.

  5. Step 5

    DMARC decides

    The result feeds DMARC, which decides between inbox, spam and reject.

DNS lookups allowed per SPF check
10
SPF record allowed per domain
1
characters per TXT string (longer records are split)
255
daily emails to Gmail that make SPF + DKIM + DMARC mandatory
5,000+

Syntax

SPF record syntax, mechanism by mechanism

An SPF record is read left to right. The first mechanism that matches the sending IP decides the result.

MechanismExampleWhat it doesCosts a lookup?
v=spf1v=spf1Version tag. Must come first.No
includeinclude:_spf.google.comAuthorizes everything another domain's SPF authorizes.Yes, plus its nested lookups
aaAuthorizes the IPs in your domain's A record.Yes
mxmxAuthorizes the servers in your MX records.Yes
ip4 / ip6ip4:203.0.113.10Authorizes a single IP or range.No
existsexists:%{i}.spf.example.comAdvanced macro-based check.Yes
redirectredirect=_spf.example.comUses another domain's SPF record instead.Yes
ptrptrReverse-DNS match. Deprecated; avoid it.Yes
all~allCatch-all for every sender not matched above.No

Qualifiers

Each mechanism can be prefixed with a qualifier: + pass (the default), - fail, ~ soft fail and ? neutral. In practice you only set a qualifier on all. Never publish +all: it lets every server on the internet send as your domain.

Copy & paste

SPF records for Google Workspace and Microsoft 365

Use the record for the provider that hosts your mailboxes. Outreach tools that connect to your Google or Microsoft mailbox send through that provider, so they don't need their own include.

Google Workspace

v=spf1 include:_spf.google.com ~all

Microsoft 365

v=spf1 include:spf.protection.outlook.com -all

Google Workspace + a transactional provider (example: SendGrid)

v=spf1 include:_spf.google.com include:sendgrid.net ~all

Adding a second sender? Edit the record, don't add another one.

Publishing a new v=spf1 record next to the old one creates two SPF records, which breaks SPF for every message. Add the new include to the existing record instead.

Troubleshooting

Common SPF errors and how to fix them

What the checker saysWhat it meansHow to fix it
No SPF record foundReceivers can't verify your senders, and Gmail and Yahoo may reject or junk your mail.Publish one TXT record at your root domain using the template for your provider.
Multiple SPF recordsSPF returns permerror, which counts as a failure.Merge all includes into one v=spf1 record and delete the rest.
Over 10 DNS lookupsSPF returns permerror even for allowed servers.Remove unused includes, replace a/mx with ip4 where the IPs are stable, or move bulk tools to a subdomain.
Ends in +all or ?allAnyone can send as your domain.End the record with ~all or -all.
No 'all' mechanismUnmatched senders get a neutral result.Add ~all at the end of the record.

SPF is only one of the three records receivers check. Run your domain through the DMARC checker next, or read the full email deliverability guide.

The full picture

SPF vs DKIM vs DMARC

RecordWhat it provesWhere it livesRequired for bulk senders?
SPFThe sending server is allowed to send for the domain.yourdomain.com TXTYes (Gmail, Yahoo, Outlook.com)
DKIMThe message was signed by the domain and not altered.selector._domainkey TXTYes (Gmail, Yahoo, Outlook.com)
DMARCSPF or DKIM aligns with the visible From domain, plus the policy for failures._dmarc TXTYes, p=none at minimum

Don't want to touch DNS at all?

Jetmail creates your mailboxes and publishes SPF, DKIM and DMARC for every domain automatically. See how it works.

Get your DNS fix list

Tell us where to send it. We'll reply with mailbox, domain and DNS recommendations for your sending volume — or start right away and have mailboxes live in minutes.

Where should we send it?

Or see pricing →

Frequently asked questions

How do I check my SPF record?

Enter your domain in the checker above. It reads your live TXT records, validates the SPF syntax and counts every DNS lookup. From a terminal you can also run "dig TXT yourdomain.com +short" or "nslookup -type=txt yourdomain.com" and look for the line starting with v=spf1.

Can a domain have two SPF records?

No. A domain must publish exactly one TXT record that starts with v=spf1. Two records make SPF return a permanent error (permerror), which counts as a failure. Merge all your includes into a single record.

What is the SPF 10 DNS lookup limit?

RFC 7208 limits SPF evaluation to 10 DNS lookups. Every include, a, mx, ptr, exists and redirect counts, including the ones nested inside the records you include. Go over 10 and SPF fails with a permerror, even if the sending server is allowed.

Should I use ~all or -all?

~all (soft fail) marks unlisted senders as suspicious; -all (hard fail) tells receivers to reject them. Once DMARC is in place, DMARC decides what happens to failing mail, so ~all is a safe default. Use -all when you are sure every legitimate sender is listed.

How long does an SPF change take to work?

As long as your DNS record's TTL. Most providers use a TTL between a few minutes and one hour, so changes usually show up quickly, but some resolvers can cache old values for up to 48 hours.

Does SPF alone stop people spoofing my domain?

No. SPF checks the envelope sender (Return-Path), not the From address people see. DMARC is what ties SPF and DKIM results to the visible From domain and tells receivers to block spoofed mail.

Before you go

Get your DNS fix list

Tell us where to send it. We'll reply with mailbox, domain and DNS recommendations for your sending volume.

We only use your email to reply to this request.