Google PlayGoogle Play
Temp Mail Logo

Temp Mail safeguards your privacy while keeping your inbox free from spam.

📨 SPF · v=spf1 · include · ip4 · ip6 · -all · Lookup Count

SPF Record Checker

Free SPF record checker and validator. Look up any domain's SPF TXT record, parse all mechanisms, check the 10-lookup limit, and identify misconfigurations that can break email delivery.

✓ Live DNS lookup✓ All mechanisms parsed✓ 10-lookup limit check✓ Issue detection✓ No signup
📨
Enter a domain to check its SPF record
What this tool does

Free SPF record checker: validate SPF DNS records, parse every mechanism, and detect deliverability issues

This SPF record checker queries your domain's DNS TXT records for the SPF entry, the one starting with v=spf1, as specified in RFC 7208, and parses every mechanism: ip4, ip6, include, mx, a, ptr, redirect, and all. It counts DNS-resolving mechanisms against the 10-lookup limit, flags dangerous qualifiers like +all, warns on the deprecated ptr mechanism, and highlights a missing all terminator. Each mechanism is decoded individually with its qualifier, pass, fail, softfail, or neutral, so you can see exactly which servers are authorised and at what enforcement level.

SPF is the first layer of the email authentication stack. Without it, receiving servers have no way to verify whether the server sending email in your name is actually authorised by you. A missing or broken SPF record means your domain can be used in phishing and spam campaigns with no technical barrier. A misconfigured record, particularly one that exceeds the 10-lookup limit, causes legitimate email from your own sending sources to be rejected or spam-filtered by major providers including Gmail, Outlook, and Yahoo. This tool surfaces both classes of problem in seconds.

The lookup counter is the most actionable output for most users. Green means your record is within the safe range. Amber means you're approaching the 10-lookup limit and should consider SPF flattening before adding new sending services. Red means your record already exceeds the limit and is causing PermErrors at receiving servers. Email may be failing silently.

What each check covers
Live DNS Lookup
Queries your TXT record in real time via Cloudflare DoH with Google DoH fallback.
Full Mechanism Parse
Every ip4, ip6, include, mx, a, ptr, redirect, and all mechanism shown with value and qualifier.
10-Lookup Counter
Counts DNS-resolving mechanisms and colour-codes the result: green (safe), amber (approaching), red (exceeded).
+all Detection
Flags the insecure +all qualifier that allows any server on the internet to pass SPF for your domain.
ptr Warning
Flags the deprecated ptr mechanism which causes slow lookups and is rejected by some receivers.
Missing all
Warns if no all terminator is present. Required for a complete SPF policy.
Qualifier Display
Shows pass/fail/softfail/neutral for every mechanism so you can audit authorisation levels.
No signup needed
All lookups run in your browser. Best-TempMail does not log the domains you check.
Why it matters

Why checking your SPF record regularly protects deliverability and domain reputation

SPF records are not set-and-forget infrastructure. Every time you add a new email sending service, a marketing platform, a transactional email tool, a CRM, a helpdesk system, or an HR platform, that service needs to be authorised in your SPF record. If it is not, email from that service will fail SPF, which can trigger spam filtering or DMARC quarantine depending on your policy. Running a regular SPF check confirms your record is still current and accurate.

The 10-lookup limit is the most common silent failure mode. Most domain owners do not realise their SPF record is causing PermErrors until they start receiving deliverability complaints or notice email going to spam. Because PermErrors are handled inconsistently, some providers treat them as a neutral result, others treat them as a failure, the impact can be hard to detect without active monitoring. This checker makes the lookup count immediately visible so you can act before it becomes a problem.

For domains targeting the Google and Yahoo 2024 bulk sender requirements, a valid SPF record is mandatory for senders delivering more than 5,000 messages per day to Gmail. Even below that threshold, having a clean, correctly configured SPF record is one of the strongest signals that a domain is a legitimate sender. Combined with DKIM signing and a DMARC enforcement policy, it forms the authentication baseline that modern inbox providers use to make spam vs. inbox decisions.

Security teams and IT administrators also use SPF audits to confirm that no unauthorised include: mechanisms have been added to DNS. A vector that could allow a compromised or malicious third-party domain to pass SPF on behalf of your organisation. A clean SPF record with no unexpected entries is a meaningful security control, not just a deliverability optimisation.

Troubleshooting

Common SPF record problems and how to fix them

Most SPF failures trace back to a small number of root causes. Here is what each common issue means and what to do about it.

No SPF record found
Why it happens: No TXT record starting with v=spf1 exists at your root domain. This means all receiving servers have no SPF policy to check against and your domain can be used in phishing with no authentication barrier.
Fix: Add a TXT record at your root domain (e.g. example.com, not mail.example.com). The value must start with v=spf1. A minimal starting record for a domain that sends no email: v=spf1 -all. For Google Workspace: v=spf1 include:_spf.google.com ~all. For Microsoft 365: v=spf1 include:spf.protection.outlook.com ~all.
DNS lookup count exceeds 10 (PermError)
Why it happens: Your record has too many DNS-resolving mechanisms (include:, mx, a, exists, ptr, redirect). RFC 7208 permits only 10. Receivers return a PermError when this limit is exceeded, which many treat as an SPF failure.
Fix: Use the SPF Flattening Tool to resolve all include: mechanisms to their underlying IP ranges and generate a flattened record that uses fewer lookups. Remove any mechanisms for services you no longer use. Avoid mx and a mechanisms unless necessary. They each cost a lookup at evaluation time.
Multiple SPF records on the same domain
Why it happens: Two or more TXT records starting with v=spf1 exist at the same domain. RFC 7208 prohibits this. Receivers return a PermError regardless of which record would otherwise be correct.
Fix: Open your DNS zone and delete all but one v=spf1 TXT record. Merge all authorised senders into a single record. Check the zone carefully. Some DNS providers display records in unexpected groupings and it is easy to miss a duplicate.
+all qualifier. Any sender can pass
Why it happens: The record ends with +all (or just all without a qualifier, which defaults to +), meaning any server on the internet passes SPF for your domain. This provides zero protection and is flagged as a critical issue.
Fix: Replace +all with -all (hard fail, recommended) or ~all (soft fail, acceptable during initial deployment). There is no valid reason to use +all on a production domain.
SPF passes but DMARC still fails
Why it happens: SPF alignment is failing. Your email service provider uses its own Return-Path (envelope) domain, so SPF passes for their infrastructure but the envelope domain does not match your From: header domain. DMARC requires alignment, not just a bare SPF pass.
Fix: Enable DKIM signing for your domain through your email provider. DKIM alignment, based on the d= signing domain you control, does match your From: domain and provides the alignment DMARC needs. Check the DKIM Analyzer to confirm DKIM is correctly configured.
SPF record contains the deprecated ptr mechanism
Why it happens: The ptr mechanism performs a reverse DNS lookup followed by a forward confirmation. It is slow, unreliable, and explicitly deprecated in RFC 7208. Some receivers skip or fail ptr evaluation entirely.
Fix: Replace ptr with the specific ip4: or ip6: range of the servers you intended to authorise, or add an include: pointing to the correct domain's SPF record. Re-run this checker after the change to confirm ptr no longer appears.
Examples

Real SPF records decoded: what the checker finds in each case

Five configurations covering the most common real-world patterns. Each shows exactly what this tool returns and why.

Example 1Google Workspace only. Clean and correct1/10 lookups
v=spf1 include:_spf.google.com ~all
A minimal, correct record for a domain that sends all email through Google Workspace. One include: mechanism (1 lookup), soft fail for unlisted senders. Safe to harden to -all once confirmed all sending goes through Google.
Example 2Google Workspace + Microsoft 365 + SendGrid3/10 lookups
v=spf1 include:_spf.google.com include:spf.protection.outlook.com include:sendgrid.net ~all
Three include: mechanisms (3 lookups). Common for organisations migrating between mail providers or using a separate transactional email service. Healthy lookup count with room for additional services. Each include: resolves to multiple IP ranges internally.
Example 3Over-provisioned record approaching the lookup limit8/10 lookups
v=spf1 include:_spf.google.com include:spf.protection.outlook.com include:sendgrid.net include:mailgun.org include:spf.mandrillapp.com include:mail.zendesk.com include:spf.salesforce.com include:mail.helpscout.net ~all
Eight include: mechanisms (8 lookups). Approaching the RFC 7208 limit of 10. Any single include: that itself resolves to additional lookups can push this over the limit and cause a PermError. This record needs flattening or consolidation before adding any new sending services.
Example 4Hard fail with strict IP-only authorisation0/10 lookups
v=spf1 ip4:203.0.113.0/24 ip4:198.51.100.10 -all
Uses direct ip4: ranges instead of include: mechanisms. Zero DNS lookups required (ip4 and ip6 do not count toward the 10-lookup limit). Hard fail for all other senders. Ideal for domains with a fixed, known outbound mail server IP range. Immune to include:-chain lookup inflation.
Example 5Non-sending domain. Maximum protection0/10 lookups
v=spf1 -all
The correct record for a parked, legacy, or non-sending domain. Authorises zero senders and hard-fails everything. Combined with a DMARC record of v=DMARC1; p=reject and a null MX record, this eliminates the domain as a phishing vector entirely.
Technical background

SPF in context: how it fits into the full email authentication stack

SPF is the foundation of email authentication, but it is designed to work alongside two other standards. Understanding all three, and where SPF's limitations lie, is essential for anyone troubleshooting deliverability or configuring authentication from scratch.

SPF (Sender Policy Framework, RFC 7208) answers the question: is this IP address authorised to send email for this domain? It validates the SMTP envelope sender, the MAIL FROM address used during the SMTP handshake, not the From: header visible to recipients. This means SPF alone does not prevent From: header spoofing. It also does not survive email forwarding, because the forwarding server's IP is not in the original domain's SPF record.

DKIM (DomainKeys Identified Mail) adds a cryptographic signature to outgoing messages. The signature covers specific message headers and the body, and survives forwarding. Critically, the DKIM d= signing domain is the domain you control. So even when an ESP uses its own Return-Path, DKIM alignment to your From: domain is achievable. This makes DKIM the more reliable alignment mechanism for third-party sending platforms. Check your DKIM configuration to confirm signing is active.

DMARC (Domain-based Message Authentication, Reporting, and Conformance) sits on top of both and adds two things SPF and DKIM lack individually: alignment enforcement (the From: header domain must match the authenticated domain) and a reporting mechanism (daily XML reports showing pass/fail rates from all sending sources). DMARC's p=reject policy is what actually prevents spoofed email from reaching inboxes. SPF and DKIM are inputs to that decision. Check your DMARC record to see your current policy and enforcement level, or use the DMARC Analyzer for a full tag-by-tag breakdown.

For domains where SPF lookup inflation is a problem, the SPF Flattening Tool resolves all include: chains to their underlying IP ranges and generates an optimised record that stays under the 10-lookup limit regardless of how many sending services you use.

FAQ

SPF record questions and answers

Answers to the most common questions about SPF records, the 10-lookup limit, alignment, and deliverability failures.

What is an SPF record?
SPF (Sender Policy Framework) is an email authentication mechanism defined in RFC 7208 that specifies which mail servers are authorised to send email on behalf of a domain. Published as a TXT record in DNS at the root domain (e.g. example.com, not _spf.example.com), it lists IP addresses, hostnames, or other domains that can legitimately send email. When a receiving mail server gets an email claiming to be from your domain, it checks your SPF record to verify the sending IP is authorised. SPF helps prevent email spoofing and is one of three standards, alongside DKIM and DMARC, that together form a complete email authentication stack.
What does -all vs ~all mean?
-all (hard fail) instructs receiving servers to reject any message from a sender not explicitly listed in the record. This is the strictest and most secure setting and is recommended for domains that have fully audited their sending sources. ~all (soft fail) marks unlisted senders as suspicious but does not reject them outright. Receiving servers typically deliver these to spam. +all (pass all) allows any server on the internet to send email as your domain and is dangerously insecure; never use it. ?all (neutral) makes no policy recommendation and provides no protection. For most domains, -all is the right long-term goal; ~all is acceptable during initial configuration when some sending sources may not yet be fully identified.
What is the 10 DNS lookup limit?
RFC 7208 limits SPF evaluation to 10 DNS-resolving lookups per check. Each include:, a, mx, exists, ptr, and redirect mechanism triggers one lookup when evaluated. If your record causes more than 10 lookups, receiving servers return a PermError and treat the message as if it failed SPF. Which can cause legitimate email to be rejected or spam-filtered. This is a common problem for organisations using multiple email services simultaneously: a marketing platform, a CRM, a helpdesk tool, and a transactional email service can each add one or more include: mechanisms, quickly pushing the total past 10. The solution is SPF flattening. Replacing include: mechanisms with the actual resolved IP ranges they contain.
Does SPF alone prevent email spoofing?
SPF alone is not sufficient to prevent spoofing of the visible From: address. SPF validates the envelope sender, the MAIL FROM address used during the SMTP handshake, not the From: header displayed to recipients in their email client. An attacker can send a message with a spoofed From: header while using a passing envelope domain. DMARC closes this gap by requiring alignment: the envelope domain (SPF) or signing domain (DKIM) must match the From: header domain. For complete protection, deploy SPF, DKIM, and DMARC together.
Can I have multiple SPF records on the same domain?
No. RFC 7208 explicitly prohibits more than one SPF TXT record on the same domain. If two or more TXT records starting with v=spf1 exist on the same domain, receiving servers return a PermError and treat SPF as failed. Providing no authentication protection at all. This is one of the most common and easy-to-miss misconfigurations, often caused by DNS panels that create a new TXT record on each save rather than replacing the existing one. If this checker reports a PermError or unexpected failure, check your DNS zone for duplicates first.
How do I create an SPF record from scratch?
Start by listing every service that sends email from your domain: your mail server, Google Workspace or Microsoft 365, any marketing platform, transactional email service, helpdesk tool, and CRM. Each provider's documentation will give you the include: mechanism or IP range to add. A basic Google Workspace record looks like: v=spf1 include:_spf.google.com ~all. For Microsoft 365: v=spf1 include:spf.protection.outlook.com ~all. If you use both: v=spf1 include:_spf.google.com include:spf.protection.outlook.com ~all. Publish this as a TXT record at your root domain, verify it with this checker, then monitor your DMARC aggregate reports to confirm all sending sources are passing before tightening to -all.
What is SPF flattening and when do I need it?
SPF flattening is the process of resolving all include: mechanisms in an SPF record down to their actual IP address ranges and replacing the include: references with those IPs directly. This reduces the number of DNS lookups the record requires, keeping it under the 10-lookup limit. You need SPF flattening when your record already uses 7 or more include: mechanisms, or when this checker reports that your record exceeds or is approaching the 10-lookup limit. The SPF Flattening Tool on Best-TempMail automates this process. It resolves all includes and produces a flattened record ready to publish.
What is SPF alignment and how does it relate to DMARC?
SPF alignment is a DMARC concept, not an SPF concept. When DMARC evaluates a message, it checks whether the domain that passed SPF (the envelope MAIL FROM domain) matches the domain in the visible From: header. In relaxed alignment mode (aspf=r, the default), a subdomain match is sufficient. In strict mode (aspf=s), an exact match is required. Most email service providers use their own envelope domain, which means SPF passes for their infrastructure but alignment fails for your domain. In that case, DKIM alignment is required for DMARC to pass. Understanding this distinction is critical when troubleshooting DMARC failures that occur despite a passing SPF record.
Why is my SPF record failing even though I set it up correctly?
The most common causes are: (1) The record exceeds 10 DNS lookups. Check the lookup count shown by this tool. (2) Two SPF records exist on the same domain. Check your DNS zone for duplicates. (3) A sending service was added after the SPF record was published and is not included. Check your DMARC aggregate reports for sources failing authentication. (4) DNS propagation is still in progress. Changes can take up to 30 minutes to propagate globally. (5) The record was published on a subdomain like mail.yourdomain.com but the sending domain is yourdomain.com. SPF must match the envelope MAIL FROM domain exactly.
What is a PermError vs TempError in SPF?
A PermError (permanent error) means the SPF record has a configuration problem that prevents evaluation. The most common causes are exceeding 10 DNS lookups or having multiple SPF records on the same domain. Receiving servers typically treat a PermError as a failure, which can block or spam-filter legitimate email. A TempError (temporary error) means a transient DNS issue prevented SPF evaluation. A lookup timed out or returned an unexpected response. Receiving servers are supposed to defer the message and retry on TempError rather than rejecting it outright. If this checker consistently shows errors, PermError is more likely and the fix is in your DNS configuration.
What is the ptr mechanism and why should I avoid it?
The ptr mechanism matches the sending IP by performing a reverse DNS (PTR) lookup and then forward-confirming the result. RFC 7208 explicitly discourages its use because it is slow (requiring multiple DNS round-trips per evaluation), unreliable, and rejected or ignored by some receiving servers. Many modern mail servers skip or fail PTR evaluation entirely. If your SPF record contains ptr, replace it with an explicit ip4: or ip6: range, or an include: pointing to the correct sending domain. This tool flags ptr as a deprecation warning.
How do I add Google Workspace or Microsoft 365 to my SPF record?
For Google Workspace, add include:_spf.google.com to your SPF record. For Microsoft 365 (Office 365), add include:spf.protection.outlook.com. If you are migrating between providers or using both simultaneously, include both. A combined record would look like: v=spf1 include:_spf.google.com include:spf.protection.outlook.com -all. Publish this as a TXT record at your root domain (not a subdomain) and verify it with this checker. Note that each include: mechanism counts as one DNS lookup, so if you already have several includes, check the total count does not exceed 10.
Does SPF affect inbox placement and deliverability?
Yes, significantly. SPF is one of the signals major inbox providers use to assess sender trust. A domain with no SPF record, a broken SPF record (PermError), or a +all policy is scored lower by spam filters regardless of message content quality. A properly configured SPF record that passes with -all is a positive trust signal. The full deliverability benefit comes when SPF is combined with DKIM and a DMARC policy at p=quarantine or p=reject. This combination satisfies the Google and Yahoo bulk sender requirements introduced in February 2024, which are increasingly treated as a baseline deliverability standard by all major providers.
What is the difference between the SPF Record Checker and the SPF Flattening Tool?
The SPF Record Checker (this tool) performs a live DNS lookup and parses your existing SPF record. It shows you every mechanism, flags issues, and counts DNS lookups. Use it to audit your current record and diagnose specific problems. The SPF Flattening Tool goes further: it resolves all include: mechanisms recursively to their underlying IP ranges and generates a new, flattened SPF record that uses fewer lookups. Use the Flattening Tool when this checker reports that your lookup count is at or approaching 10, or when you want to optimise your record for reliability.
Do parked and non-sending domains need an SPF record?
Yes. Parked, inactive, and legacy domains are actively targeted in phishing campaigns precisely because they often have no authentication records. For a non-sending domain, publish v=spf1 -all. This tells every receiving server in the world that no server is authorised to send email from this domain, and any message claiming to be from it should be rejected. Pair it with a DMARC record of v=DMARC1; p=reject and a null MX record. This takes under five minutes and eliminates the domain as a phishing vector entirely.
How often should I check my SPF record?
Check your SPF record whenever you add, change, or remove an email sending service. Marketing platforms, transactional email providers, CRMs, helpdesk tools, and calendar services can all send email on your behalf and may require an include: mechanism. Beyond that, a quarterly check is a good practice to catch any changes introduced by providers updating their own SPF infrastructure. Review your DMARC aggregate reports monthly; any source appearing as failing authentication is a signal to revisit your SPF and DKIM configuration.

Need a disposable email address?Get a free instant throwaway email. No signup, no trace.

Get Free Temp Mail →