Skip to content

SPF Record Checker

Validate SPF record syntax, understand SPF mechanisms, and check your domain's SPF configuration for proper email authentication.

Opens Google DNS to look up TXT records for the domain

Common SPF Record Examples

Allow only MX servers

v=spf1 mx -all

Allow Google Workspace

v=spf1 include:_spf.google.com ~all

Allow Microsoft 365

v=spf1 include:spf.protection.outlook.com -all

Allow specific IP

v=spf1 ip4:192.168.1.1 -all

Allow multiple providers

v=spf1 include:_spf.google.com include:sendgrid.net ~all

Allow subnet

v=spf1 ip4:192.168.0.0/24 -all

// how it works

How to Use SPF Record Checker

  1. 01

    Enter your domain

    Type your domain name into the lookup field or paste an SPF record for syntax validation.

  2. 02

    Lookup DNS records

    Click Lookup DNS to query Google DNS for your domain TXT records, or validate SPF syntax directly.

  3. 03

    Validate SPF record

    Get a detailed breakdown of SPF mechanisms, DNS lookup count, and any syntax issues found.

// features

Why Use SPF Record Checker

  • SPF Syntax Parsing

    Breaks down every SPF mechanism and qualifier with human-readable explanations of what each does.

  • DNS Record Lookup

    Queries Google DNS to retrieve TXT records for any domain so you can inspect the live SPF record.

  • Syntax Validation

    Validates SPF record structure, checks for common errors, and verifies the all mechanism is present.

  • Include Expansion

    Tracks include mechanisms and counts total DNS lookups against the 10-lookup SPF limit.

  • Error Detection

    Identifies dangerous configurations like +all, missing version tags, and exceeding character limits.

  • 100% Private

    SPF validation runs locally in your browser. DNS lookups use Google public DNS with no data stored.

// use cases

Who Uses SPF Record Checker

  • Domain Admins

    Validate SPF records after creating or modifying them to ensure proper syntax before publishing to DNS.

  • Email Marketers

    Verify that your sending domain SPF includes all authorized email service providers like SendGrid or Mailchimp.

  • IT Security Teams

    Audit domain SPF records to prevent email spoofing and ensure alignment with DMARC policies.

  • Developers

    Debug email delivery issues by checking if SPF records correctly authorize your application sending IPs.

// faq

Frequently asked questions

Still have questions? Visit the help center

SPF Mechanisms Reference

MechanismDescription
v=spf1SPF version identifier (required, must be first)
ip4:Allow a specific IPv4 address or range
ip6:Allow a specific IPv6 address or range
aAllow the domain's A record IP
mxAllow the domain's MX record IPs
include:Include another domain's SPF policy
allMatch all (used with qualifier at the end)
+Pass qualifier (default, allow)
-Fail qualifier (hard fail, reject)
~SoftFail qualifier (accept but mark)
?Neutral qualifier (no policy)

// quick start

Make your first call in a minute

Free account, real API key, the same endpoints Enterprise customers use.

  1. 1Create a free account25 searches a month. No card.
  2. 2Copy your key and secretFrom API keys in the dashboard.
  3. 3Call the APIPaste the request; the answer is JSON.
curl "https://api.tomba.io/v1/email-finder?domain=piedpiper.com&first_name=Richard&last_name=Hendricks" \
  -H "X-Tomba-Key: $TOMBA_API_KEY" \
  -H "X-Tomba-Secret: $TOMBA_SECRET_KEY"
Response
200 OK· 1 search credit
{
  "data": {
    "email": "richard@piedpiper.com",
    "first_name": "Richard",
    "last_name": "Hendricks",
    "full_name": "Richard Hendricks",
    "website_url": "piedpiper.com",
    "company": "Pied Piper",
    "pattern": "{first}",
    "department": "executive",
    "type": "personal",
    "position": "CEO",
    "country": "US",
    "gender": "male",
    "twitter": null,
    "linkedin": "https://www.linkedin.com/in/richard-hendricks",
    "score": 100,
    "accept_all": false,
    "phone_number": true,
    "verification": {
      "date": "2025-01-15T10:32:00+01:00",
      "status": "valid"
    },
    "sources": [
      {
        "uri": "https://piedpiper.com/blog/engineering",
        "website_url": "piedpiper.com",
        "extracted_on": "2024-06-01T09:14:07+01:00",
        "last_seen_on": "2025-01-10T17:02:44+01:00",
        "still_on_page": true
      }
    ],
    "phone_data": []
  }
}