Free tool
Enter a domain to look up and test its SPF record. The checker fetches the TXT record, validates each mechanism, counts DNS lookups against the limit of 10, and explains every warning in plain language so you can fix it before mail fails authentication. Free, instant, no signup.
Automate everything
InboxKit automatically configures SPF, DKIM, DMARC, and BIMI for all your domains.
Overview
Sender Policy Framework (SPF) is an email authentication protocol that allows domain owners to specify which mail servers are authorized to send email on behalf of their domain. It works by publishing a DNS TXT record that lists approved sending sources -- IP addresses, mail servers, and third-party services.
When a receiving mail server gets an email, it checks the SPF record of the sender's domain to verify the sending server is authorized. If the server's IP is not listed, the email may be flagged as spam or rejected depending on the SPF policy. SPF is one of the three core email authentication protocols alongside DKIM and DMARC.
Record format
An SPF record is a DNS TXT record that defines authorized senders using mechanisms and qualifiers. Here are the key components:
Version
v=spf1Required prefix identifying the record as SPF
Mechanisms
include: ip4:Define authorized senders (IPs, includes, mx, a)
Qualifier
~all / -allPolicy for unauthorized senders (soft/hard fail)
Example SPF Record
v=spf1 include:_spf.google.com include:sendgrid.net ip4:203.0.113.0/24 ~allValidation
Our free SPF checker performs a comprehensive analysis of your domain's SPF configuration:
DNS Record Presence
Verifies that an SPF TXT record exists for your domain
Record Syntax
Validates the SPF record format including version tag and mechanisms
DNS Lookup Count
Counts total DNS lookups and warns if exceeding the 10 lookup limit
Policy Analysis
Evaluates your all-mechanism qualifier (~all, -all, ?all)
Mechanism Parsing
Lists all authorized include, ip4, ip6, mx, and a mechanisms
Common Warnings
Detects multiple SPF records, deprecated ptr mechanism, and more
Implementation
How SPF Works
1. DNS publication
You publish a TXT record listing all authorized sending sources.
2. Email received
Receiving server extracts the envelope sender domain from the email.
3. SPF lookup
Server queries DNS for the SPF record and checks if the sender IP is authorized.
4. Policy enforcement
Unauthorized emails are handled per your policy (~all, -all, etc).
Benefits of SPF
Prevents spoofing
Makes it significantly harder for attackers to forge emails from your domain.
Improves deliverability
Legitimate emails are more likely to reach the inbox instead of spam.
Domain protection
Protects your domain reputation from abuse by spammers and phishers.
DMARC foundation
SPF is required for DMARC alignment, enabling full authentication coverage.
10
Max DNS lookups
94%
Top domains use SPF
1
Record per domain
Troubleshooting
Receiving servers return one of seven SPF results for every message. This is what each one means and what to change when you see it.
| Result | What it means | What to do |
|---|---|---|
| pass | The sending IP is authorized by the record | Nothing. Confirm DMARC alignment with the From domain |
| fail | The IP is not authorized and the record ends in -all | Add the sender's include: or ip4: mechanism |
| softfail | The IP is not authorized and the record ends in ~all. Most receivers treat it as a fail under DMARC | Add the missing sender. Do not switch to +all |
| neutral | The record ends in ?all, which says nothing about the IP | Replace ?all with ~all or -all |
| none | No SPF record exists on the domain, or the domain does not resolve | Publish a record. The setup guide has one for every provider |
| permerror | The record cannot be evaluated: more than 10 DNS lookups, two records, or a syntax error | Fix the record. The checker shows which lookup or token caused it |
| temperror | A DNS query timed out or failed during evaluation | Retry. If it persists, check that your DNS host is answering |
Most SPF failures that reach us are permerror from the lookup limit. The SPF setup guide explains how to count lookups and get back under 10, the SPF generator builds a clean record, and the DNS checker shows SPF next to DKIM, DMARC and MX.
Related
Create properly formatted SPF records for your domain.
Try it →Verify DKIM signatures and public key configuration.
Try it →Check DMARC policy configuration and alignment settings.
Try it →Get a complete email deliverability assessment.
Try it →Test email content for potential spam triggers.
Try it →Comprehensive scan of all email authentication records.
Try it →FAQ
An SPF (Sender Policy Framework) record is a DNS TXT record published at your domain's root that lists all the IP addresses and mail servers authorized to send email on behalf of your domain. When a receiving server gets an email claiming to be from your domain, it checks this record to verify the sender is legitimate. SPF helps prevent email spoofing and improves deliverability.
Simply enter your domain name (e.g., company.com) into the InboxKit SPF Checker tool above and click 'Check SPF Record'. We will query your DNS, retrieve the SPF TXT record, parse all mechanisms and modifiers, count DNS lookups, and report on your configuration's validity with actionable recommendations.
A soft fail (~all) tells receiving servers to accept emails from unauthorized IPs but mark them as suspicious or potential spam. This is the recommended setting for most domains during initial rollout, as it prevents legitimate emails from being rejected outright while still providing protection against spoofing. Once you have verified all legitimate senders, you can move to a hard fail (-all).
Common reasons for invalid SPF records include: exceeding the 10 DNS lookup limit (include, a, mx, redirect each count as one lookup), syntax errors in the record, having multiple SPF records (you can only have one per domain), missing the 'v=spf1' version prefix, or referencing non-existent include domains. Our tool provides detailed error messages to help you fix these issues.
The SPF specification (RFC 7208) limits the number of DNS-querying mechanisms to 10 per SPF evaluation. Mechanisms that trigger lookups include: 'include', 'a', 'mx', 'redirect', and 'exists'. IP-based mechanisms like 'ip4' and 'ip6' do not count. Exceeding this limit causes a 'permerror' result, effectively breaking your SPF. Use our checker to count your current lookups.
No, you can only have one SPF TXT record per domain. Having multiple SPF records will cause a 'permerror' and your SPF will fail validation entirely. If you need to authorize multiple senders, combine them into a single record using 'include' mechanisms. For example: v=spf1 include:_spf.google.com include:sendgrid.net ~all
These are SPF qualifiers that define the policy for emails from unauthorized senders. '-all' (hard fail) instructs receivers to reject unauthorized emails outright. '~all' (soft fail) marks them as suspicious but still delivers them, often to spam. '?all' (neutral) takes no stance. '+all' (pass all) allows any sender -- this is dangerous and should never be used. Most organizations should use ~all during testing and -all in production.
DMARC uses SPF as one of its two authentication mechanisms (the other being DKIM). For DMARC to pass via SPF, two things must be true: the SPF check itself must pass (the sending IP is authorized), and the SPF domain must align with the From header domain. Alignment can be relaxed (subdomain match allowed) or strict (exact match required). Even if SPF fails, DMARC can still pass if DKIM succeeds.
To authorize a third-party sender (like SendGrid, Mailchimp, or HubSpot), add their SPF include mechanism to your existing record. For example, to add SendGrid: v=spf1 include:_spf.google.com include:sendgrid.net ~all. Each provider publishes their own SPF include domain -- check their documentation. Be mindful of the 10 DNS lookup limit when adding multiple includes.
When SPF fails, the result depends on your SPF policy qualifier. With '-all', the email may be rejected entirely. With '~all', it is typically delivered to spam. The SPF result is also fed into DMARC evaluation -- if both SPF and DKIM fail with DMARC alignment, the DMARC policy (none/quarantine/reject) determines the final outcome. Failed SPF can also negatively impact your domain's sending reputation over time.
Run dig TXT yourdomain.com (or nslookup -type=txt yourdomain.com on Windows) and look for the record beginning v=spf1. That shows the record but not whether it works: counting the DNS lookups inside every include takes several more queries, which is what this checker automates.
No. SPF pass is one input. DMARC also needs the SPF domain to align with the From domain, DKIM should pass as well, and sender reputation and content decide placement from there. Use the DNS checker to see all three records together and the spam checker for content.
Get started
InboxKit provides complete email infrastructure with automated SPF, DKIM, and DMARC setup across all your sending domains.