Skip to content

Free SPF Checker - Validate Your SPF Record Instantly

Check your SPF record syntax and DNS lookup count. See if you're under the 10-lookup limit, detect dangerous +all settings, and get instant fix recommendations.

Takes ~10 seconds

No login required for preview No emails stored GDPR-friendly

What This Tool Checks

SPF Record Presence

Verifies v=spf1 TXT record exists

Syntax Validation

Checks for valid SPF syntax and mechanisms

DNS Lookup Count

Counts lookups against the 10-limit

All Qualifier

Detects dangerous +all or missing -all

How to Fix Common Issues

Too Many DNS Lookups (>10)

Replace include mechanisms with IP addresses or use SPF flattening:

v=spf1 ip4:192.0.2.0/24 ip4:198.51.100.0/24 -all

Dangerous +all Qualifier

Replace +all with -all (hard fail) or ~all (soft fail):

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

Using ~all Instead of -all

Upgrade to hard fail for better protection:

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

How It Works

1

Enter Your Domain

Type your domain name without http:// or www

2

We Query DNS

Our tool fetches and parses your SPF TXT record

3

Get Instant Results

See lookup count, syntax issues, and recommendations

Frequently Asked Questions

What is the SPF 10 DNS lookup limit?

SPF records are limited to 10 DNS lookups to prevent infinite loops and reduce server load. Each include, a, mx, ptr, exists, and redirect mechanism counts toward this limit. Exceeding it causes SPF to fail with a permerror.

What does +all mean in SPF?

+all is a dangerous SPF qualifier that allows ANY server to send email as your domain. This completely defeats the purpose of SPF. Always use -all (hard fail) or ~all (soft fail) instead.

What's the difference between ~all and -all?

~all (soft fail) marks unauthorized emails as suspicious but still delivers them. -all (hard fail) tells receivers to reject unauthorized emails. Use ~all during testing, then upgrade to -all for production.

How do I fix too many DNS lookups?

To reduce DNS lookups: 1) Replace include mechanisms with ip4/ip6 addresses where possible, 2) Use SPF flattening services, 3) Remove unused includes, 4) Consolidate multiple includes from the same provider.

Can I have multiple SPF records?

No, you should only have ONE SPF record per domain. Multiple SPF records cause a permerror and SPF will fail. Combine all your authorized senders into a single SPF record.

Understanding SPF Records: The Complete Guide

SPF (Sender Policy Framework) is an email authentication protocol that allows domain owners to specify which mail servers are authorized to send email on behalf of their domain. Published as a DNS TXT record, SPF helps receiving mail servers verify that incoming email from your domain comes from an authorized source.

How SPF Works

When an email arrives, the receiving server checks the sender's domain for an SPF record. It then compares the sending server's IP address against the list of authorized servers in the SPF record. If there's a match, SPF passes. If not, the SPF result depends on your policy qualifier.

An SPF record starts with v=spf1 and contains mechanisms that define authorized senders:

  • ip4/ip6 - Authorize specific IP addresses or ranges
  • include - Reference another domain's SPF record (e.g., include:_spf.google.com)
  • a - Authorize the domain's A record IP
  • mx - Authorize the domain's mail servers
  • all - The catch-all mechanism that defines what happens to non-matching senders

The Critical 10 DNS Lookup Limit

SPF has a strict limit of 10 DNS lookups to prevent infinite loops and reduce server load. Each include, a, mx, ptr, exists, and redirect mechanism counts toward this limit. Exceeding 10 lookups causes SPF to fail with a "permerror" result.

This limit is the most common SPF problem for organizations using multiple email services. Each service you add (Google Workspace, Microsoft 365, Mailchimp, Salesforce, etc.) typically requires an include statement, quickly consuming your lookup budget.

SPF Qualifiers: -all vs ~all vs +all

The qualifier before all determines how strictly your SPF policy is enforced:

  • -all (Hard Fail) - Recommended. Tells receivers to reject emails from unauthorized servers.
  • ~all (Soft Fail) - Marks unauthorized emails as suspicious but still delivers them. Use during testing.
  • ?all (Neutral) - No policy. SPF provides no guidance on unauthorized senders.
  • +all (Pass) - DANGEROUS. Authorizes ANY server to send as your domain. Never use this.

How to Reduce DNS Lookups

If you're hitting the 10-lookup limit, here are strategies to reduce your count:

  1. SPF Flattening - Replace include mechanisms with the actual IP addresses they resolve to. This removes the DNS lookup but requires maintenance when IPs change.
  2. Remove unused includes - Audit your SPF record and remove services you no longer use.
  3. Use ip4/ip6 directly - If a service has stable IPs, use them directly instead of an include.
  4. Consolidate services - Some providers share SPF records. Check if you can reduce redundant includes.

SPF Best Practices

  • One SPF record per domain - Multiple SPF records cause a permerror. Combine all senders into one record.
  • Keep it under 255 characters - DNS TXT records have size limits. Use multiple strings if needed.
  • Avoid the ptr mechanism - It's slow, unreliable, and deprecated. Use ip4/ip6 instead.
  • Test before deploying - Use SPF validators to check syntax and lookup count before publishing.
  • Monitor regularly - Email services change their IPs. Flattened records need periodic updates.

SPF Alone Isn't Enough

SPF only authenticates the envelope sender (Return-Path), not the visible From address. This means SPF alone can't prevent display-name spoofing. For complete protection, combine SPF with DKIM (cryptographic signing) and DMARC (policy enforcement). Together, these three protocols form the foundation of modern email authentication.

Monitor Your SPF Record Daily

Get alerts when your SPF record changes or exceeds the lookup limit.

Start Free Monitoring