web validator

SPF Record Validator

Validate SPF TXT records to ensure v=spf1 prefix and valid mechanisms.

Results

Processing…
Status
Processing...
Details
Processing...
Mechanisms
Processing...
Has all/~all
Processing...

How to use this validator

  1. Paste the SPF TXT record.
  2. Run validate to check prefix, mechanisms, and final all/~all/-all/?all.
  3. If invalid, add v=spf1 or correct unknown mechanisms, then re-run.

Rules & checks

Requires v=spf1 at the start.

Supports a, mx, include:, ip4:, ip6:, exists:, redirect=, exp=, and all/~all/-all/?all.

Flags unknown mechanisms and missing content.

Runs fully client-side; no data is stored.

Inputs explained

  • SPF TXT record

    Paste the full SPF string (e.g., v=spf1 include:_spf.google.com -all). Avoid secrets; this is structure-only.

When to use it

  • QA DNS TXT records before publishing
  • Check support tickets for SPF issues
  • Validate automated DNS templates

Common errors

  • No v=spf1 prefix
  • Unknown mechanisms (typos or unsupported)
  • Missing all/~all/-all terminator

Limitations

  • Structure-only validation; does not resolve includes or count DNS lookups.
  • Does not verify DNS record size limits.

Tips

  • End with -all or ~all to avoid soft fails
  • Limit the number of include: mechanisms to reduce DNS lookups

Examples

Valid

  • v=spf1 include:_spf.google.com -all

Missing v=spf1

  • include:_spf.google.com -all -> Invalid

Unknown mech

  • v=spf1 foo=bar -all -> Invalid

Deep dive

This SPF validator checks v=spf1 prefix, known mechanisms, and all/~all terminators entirely in your browser.

Use it to catch typos and missing terminators before publishing SPF TXT records.

FAQs

Is this uploaded?
No. Parsing happens in your browser only.

Related validators

All validation happens in your browser. No data is sent, logged, or stored.

Structure-only validation; does not resolve includes or count DNS lookups.