# Free SPF Record Checker & DNS Validator

> Free online SPF record checker and validator. Test SPF syntax, resolve all nested DNS lookups against the 10-lookup limit, and fix authentication permerrors.

SPF authorises which servers may send for your domain. It permits a maximum of ten DNS lookups, includes nest, and exceeding the limit is a permerror that most receivers treat as a failure — which is why adding a fourth vendor silently breaks the three that were working.

## Checks Performed
- The record exists and there is exactly one
- Syntax is valid and the mechanisms parse
- Every include is resolved and counted against the ten-lookup limit
- The all mechanism is present and its qualifier is sensible

## Sample Verification (example.com)
Valid, with headroom for roughly two more vendors before you hit the lookup limit.

| Check | Verdict | Details |
| --- | --- | --- |
| Record found | PASS | v=spf1 include:sadasend.net include:_spf.google.com ~all |
| Record count | PASS | 1 |
| DNS lookups | WARN | 6 of 10 |
| All mechanism | WARN | ~all (softfail) |

## Frequently Asked Questions
### What is the SPF ten-lookup limit?

SPF permits at most ten DNS lookups while evaluating a record. Every include, a, mx, ptr and exists mechanism costs one, and includes nest — your provider's include may itself contain three more. Exceeding ten produces a permerror, which most receiving servers treat as a failure.

### Can I have two SPF records?

No. Two TXT records beginning v=spf1 on the same domain is a permerror. Merge them into a single record with multiple include mechanisms.

### Should I use ~all or -all?

Use ~all (softfail) while you are still discovering which systems send as you, then move to -all (hardfail) once you are confident the list is complete. -all tells receivers to reject anything not listed.
