Home › Developer Tools › SPF Record Checker

SPF Record Checker

Enter a domain to fetch its SPF record over secure DNS, expand every include and redirect, and count the DNS lookups against the limit of 10. You can also test whether a sending IP address is allowed.

Last updated:

Try:

Enter a domain and click Check SPF to validate its SPF record.

Advertisement
Advertisement

How to use the SPF Record Checker

  1. Type a domain such as example.com, or paste an email address: the domain is taken from it.
  2. Click Check SPF. The record is fetched and every include is expanded in a tree.
  3. Read the summary: the total DNS lookup count must stay at 10 or below and the record must have no errors.
  4. Test a sender: enter an IP address from a message's Received header to see whether SPF would pass, and which term matched.
  5. Fix problems with the SPF Record Generator, then check again (DNS caches may need up to the record's TTL).

SPF results explained

ResultMeaningWhat receivers usually do
passThe sending IP is authorized by the domainAccept; counts toward DMARC if the domain aligns
failMatched -all or another - term: not authorizedReject or mark as spam, depending on DMARC and local policy
softfailMatched ~all: probably not authorizedAccept but treat as suspicious
neutralMatched ?all, or nothing matched and there is no allTreated like no SPF
noneThe domain has no SPF recordNo SPF signal; DMARC depends on DKIM alone
permerrorThe record is broken: syntax error, two SPF records, more than 10 lookups, more than 2 void lookupsUsually treated as a failure; DMARC cannot pass via SPF
temperrorA DNS lookup timed out or failedDefer and retry later

How the lookup count works

Every include, a, mx, ptr and exists mechanism and the redirect modifier costs one DNS lookup, and the count continues inside every included record. The tree above numbers each lookup in evaluation order, so you can see exactly which service pushes the total over 10. ip4, ip6 and all are free. The address lookups that an mx term needs for its mail hosts do not count toward the 10, but an mx term may return at most 10 hosts.

Common SPF problems and fixes

  • Two SPF records: merge them into one. Keep a single TXT record that starts with v=spf1.
  • Too many lookups: remove providers you no longer use, replace a/mx with IP ranges, or move marketing mail to a subdomain with its own record.
  • Include of a domain without SPF: the provider changed its include value; check its current documentation.
  • Typos: ipv4:, include=, a missing colon or a stray quote all cause permerror.
  • +all: allows the whole internet to send as you. Replace it with ~all or -all.

Build a corrected record with the SPF Record Generator, and see real-world results in a message's headers with the Email Header Analyzer.

Frequently asked questions

What does this SPF checker test?

It fetches the domain's TXT records, finds the one starting with v=spf1, checks its syntax and recursively fetches every include and redirect. It reports the total DNS lookup count, void lookups, duplicate SPF records, loops and risky settings such as +all or ptr.

What does 'too many DNS lookups' mean?

RFC 7208 allows at most 10 DNS-querying terms (include, a, mx, ptr, exists and redirect) across the whole SPF evaluation, including nested includes. Above 10, receivers return permerror and SPF fails for all mail, which can also make DMARC fail.

What is a void lookup?

A void lookup is a DNS query made during SPF evaluation that returns no records or a non-existent domain. RFC 7208 recommends failing after 2 void lookups, so stale includes or a/mx terms pointing at missing hosts can break SPF.

Why does my domain show two SPF records?

Someone added a new v=spf1 TXT record without removing the old one, often when switching providers. With more than one SPF record, SPF evaluation returns permerror. Merge them into a single record.

Is the IP test the same as a real SPF check?

It follows the RFC 7208 evaluation order using live DNS answers: ip4, ip6, a, mx, include, exists and redirect are evaluated. Terms with macros (such as %{i}) and the deprecated ptr mechanism are reported but not evaluated, so results for records using them can differ from a real receiver.

Does this tool send my data anywhere?

Only DNS queries for the domain names in the SPF tree are sent, directly from your browser to Cloudflare's or Google's public DNS-over-HTTPS resolver. FreeToolCabin has no server involved and does not log what you check.

Are all the tools on FreeToolCabin tested for quality and accuracy?

Yes! Every tool on our site undergoes automated Q/A testing in real browser environments to ensure high precision, correct output, and zero errors. If you happen to spot a bug or have a suggestion, please contact us at [email protected] and our team will review it right away.

Related tools

SPF Record GeneratorBuild a valid SPF TXT record from mail providers, IPs and includes, with a lookup-count check.DMARC Record GeneratorCreate a DMARC TXT record with policy, reporting and alignment options, every tag explained.DNS LookupLook up A, AAAA, MX, TXT, NS, CNAME, SOA and CAA records with TTLs over secure DNS.Email Header AnalyzerPaste raw email headers to trace every server hop, see delays and check SPF, DKIM and DMARC.Email ValidatorCheck email lists and spot disposable addresses.Website Down CheckerCheck if a website is down for everyone.Deep Link GeneratorCreate links that open directly in apps.URL ParserBreak a URL into its parts and edit query string parameters with a live rebuild.User Agent ParserSee your user agent and parse any UA string into browser, OS, engine and device.HTTP Status CodesSearch every HTTP status code with plain-English meanings, causes, fixes and RFC references.Subnet CalculatorCalculate IPv4 network, broadcast, host range, masks and host count, and split subnets.Bulk URL OpenerOpen a list of URLs in new tabs at once or in batches, with cleanup, dedupe and delay.API Request TesterSend GET, POST, PUT and DELETE requests with headers and a body, then inspect the response.WebSocket TesterConnect to a ws:// or wss:// server, send messages and watch a timestamped live log.WHOIS LookupLook up who registered a domain or IP: registrar, creation and expiry dates, name servers, status.Mailto Link GeneratorBuild encoded mailto: links with cc, bcc, subject and body, plus HTML code and a QR code.WhatsApp Link GeneratorCreate wa.me click-to-chat links with a pre-filled message, button HTML and a QR code.Basic Auth Header GeneratorCreate an Authorization: Basic header from a username and password, or decode one.Common Ports ListSearchable TCP/UDP port number list with service, protocol and description, filterable by range.DMARC CheckerLook up a domain's DMARC record, explain every tag, grade the policy and get fix suggestions.IP Geolocation LookupFind the country, city, ISP, ASN and time zone of any IP address or domain, with a map.Reverse DNS LookupFind the PTR hostname of any IPv4 or IPv6 address, one at a time or hundreds in bulk.CIDR to IP RangeConvert IPv4 or IPv6 CIDR blocks to first/last IP, mask and host count, and export IP lists.DNS Propagation CheckerCompare DNS answers and TTLs from Cloudflare, Google, Quad9, AdGuard and NextDNS side by side.Domain Availability CheckerCheck if domain names are available across .com, .io, .ai and more, with registrar and expiry.MAC Address LookupFind the vendor of a MAC address or OUI, check multicast and random bits, look up many at once.MX LookupFind a domain's mail servers: MX priority, host, IP addresses and the email provider.Uptime SLA CalculatorTurn 99.9% uptime into allowed downtime per day, month and year, or downtime into uptime %.Website Speed TestTest page speed with Lighthouse: performance score, Core Web Vitals and fixes, mobile or desktop.ASN LookupLook up an AS number or IP: network owner, country, registry, abuse contact and announced prefixes.Bandwidth CalculatorEstimate monthly website bandwidth (GB) and the Mbps you need from page views and page size.CNAME LookupFollow a hostname's full CNAME chain to its final IP addresses, with TTLs and CDN detection.CORS TesterSend GET, POST or OPTIONS from your browser to any API and see whether CORS allows it and why not.DKIM Record CheckerLook up a domain's DKIM key by selector (or auto-detect), check key type, bit length and tags.DKIM Record GeneratorCreate a DKIM RSA key pair in your browser with the TXT record, selector host and private key PEM.DMARC Report AnalyzerRead DMARC aggregate XML reports (.xml, .gz, .zip): sources, SPF/DKIM alignment and pass rates.Domain Age CheckerSee how old a domain is, when it was registered and when it expires. Bulk check up to 50.Email Deliverability CheckerGrade a domain's MX, SPF, DMARC, DKIM, BIMI and MTA-STS records in one report with fixes.TXT Record LookupLook up a domain’s DNS TXT records and see which are SPF, DMARC, DKIM or verification tokens.VLSM CalculatorSplit a network into variable-length subnets sized to the hosts each one needs.YouTube Timestamp Link GeneratorMake YouTube links that start at a set time, embed start/end codes and lists of timestamps.Email ObfuscatorHide an email address from spam bots with HTML entities, a JavaScript mailto link or reversed CSS text.Email PermutatorGenerate every common business email format from a first name, last name and company domain.HTTP Header ParserPaste raw HTTP headers to get a table explaining each one plus a security headers grade.IP Blacklist CheckerCheck an IPv4 address against 21 public spam blocklists (DNSBLs) and see listed or clean.IP Range to CIDRTurn a start and end IP into the shortest list of CIDR blocks, for IPv4 and IPv6.IPv6 Subnet CalculatorIPv6 prefix to network, range, address count and /64s, and split it into child subnets.Link in Bio Page GeneratorCreate a link-in-bio page with avatar, bio, links and theme, then download it as one HTML file.NS LookupFind a domain's authoritative nameservers with their IPs, SOA record and DNS hosting provider.Social Share Link GeneratorMake share links and buttons for Facebook, X, LinkedIn, Reddit, Pinterest, WhatsApp and email.Subnet Mask Cheat SheetInteractive /0 to /32 table of subnet masks, wildcards and host counts with details per prefix.
See all 52 Network, DNS & Email Tools →