Skip to main content
Home/Resources/Tools/SPF Checker

Free tool

Free SPF Checker

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.

Get Started

Overview

What is SPF?

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

What is an SPF record?

An SPF record is a DNS TXT record that defines authorized senders using mechanisms and qualifiers. Here are the key components:

Version

v=spf1

Required prefix identifying the record as SPF

Mechanisms

include: ip4:

Define authorized senders (IPs, includes, mx, a)

Qualifier

~all / -all

Policy for unauthorized senders (soft/hard fail)

Example SPF Record

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

Validation

What our SPF checker validates

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 & why it matters

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

Common SPF configuration issues

Too many DNS lookups -- Exceeding the 10 lookup limit causes permerror -- flatten includes or use ip4/ip6
Multiple SPF records -- Only one SPF record per domain is allowed; merge them into a single record
Missing v=spf1 prefix -- Every SPF record must begin with v=spf1 to be recognized
Using deprecated ptr mechanism -- The ptr mechanism is slow and unreliable; replace with ip4 or include
Overly permissive +all -- Using +all allows any server to send as your domain -- never use this
Missing third-party includes -- Forgetting to add services like SendGrid or Mailchimp causes their emails to fail SPF

SPF check results explained

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.

ResultWhat it meansWhat to do
passThe sending IP is authorized by the recordNothing. Confirm DMARC alignment with the From domain
failThe IP is not authorized and the record ends in -allAdd the sender's include: or ip4: mechanism
softfailThe IP is not authorized and the record ends in ~all. Most receivers treat it as a fail under DMARCAdd the missing sender. Do not switch to +all
neutralThe record ends in ?all, which says nothing about the IPReplace ?all with ~all or -all
noneNo SPF record exists on the domain, or the domain does not resolvePublish a record. The setup guide has one for every provider
permerrorThe record cannot be evaluated: more than 10 DNS lookups, two records, or a syntax errorFix the record. The checker shows which lookup or token caused it
temperrorA DNS query timed out or failed during evaluationRetry. 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.

FAQ

Frequently asked questions

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

Perfect your email authentication

InboxKit provides complete email infrastructure with automated SPF, DKIM, and DMARC setup across all your sending domains.