SPF Record Checker

Enter a domain and the checker looks up its DNS TXT records, finds the one that starts with v=spf1, and shows it back with a plain-English label for each part (include:, a, mx, ip4:, ip6:, the all qualifier and redirect=). It also lists every TXT record it found. It reads and explains your published record; it does not change DNS or send any email.

How the check works

  1. 1

    Enter your domain

    The checker queries the domain's TXT records and looks for the one starting with `v=spf1`.

  2. 2

    The record is broken down

    Each token (`ip4:`, `ip6:`, `include:`, `a`, `mx`, `all`, `redirect=`) is shown with a short label.

  3. 3

    All TXT records are listed

    You can expand the full list of TXT records the domain publishes, not only the SPF one.

  4. 4

    No record is flagged

    If the domain has TXT records but none start with `v=spf1`, the tool tells you there is no SPF policy.

What the breakdown shows

Part Meaning
v=spf1 Version identifier, must be first
ip4:x.x.x.x/y Allow this IPv4 address or CIDR block
ip6:... Allow this IPv6 address or CIDR
a Allow the domain’s A records
mx Allow the domain’s MX hosts
include:spf.provider.com Include another provider’s SPF record
redirect=other.com Hand the SPF policy to another domain
all Catch-all at the end, with a qualifier

The all qualifiers

  • +all, allow everything (not recommended)
  • -all, hard fail, reject anything not listed
  • ~all, soft fail, accept but mark as suspicious
  • ?all, neutral, no policy

Reading your record

  • Start with the all qualifier. +all lets any sender pass and defeats SPF; most domains want -all or ~all.
  • One SPF record only. Only one TXT record per domain should start with v=spf1. Two of them make receivers treat the record as broken.
  • Every real sender needs a mechanism. If a helpdesk or newsletter tool sends as your domain, its include: (or IP) must be in the record, or that mail fails SPF.

What this tool does not do

This checker reads and explains the published SPF record. It does not flatten include: chains, count the 10 DNS-lookup limit, rewrite your record, or check DKIM and DMARC. Those are separate parts of email authentication: SPF authorises senders by IP, DKIM signs the message, and DMARC ties them to the visible From: address and tells receivers what to do on failure.

Frequently Asked Questions

~all is soft-fail: mail is accepted but marked as suspicious. -all is hard-fail: mail from senders not listed in the record is rejected. Start with ~all while you build the record, then tighten to -all once you are confident it lists every legitimate sender.

No. It looks up and explains the SPF record only. It does not count DNS lookups, follow include: chains, or check DKIM and DMARC. Those are separate checks you should run on their own.

You should not. Some DNS panels let you add several TXT records starting with v=spf1. Receivers then treat the domain as misconfigured (a PermError). Merge them into a single record.

No. SPF checks the envelope sender (Return-Path / MAIL FROM), not the visible From: header. That gap is why DMARC exists: to align SPF with the From: address that people actually see.

Related Tools

Tool available in other languages