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

Free tool

SPF record checker

Validate your SPF records and email authentication configuration. Ensure authorized servers can send emails on your domain's behalf.

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

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.

Get started

Perfect your email authentication

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