Server

DNSSEC Checker

Check whether a domain has DNSSEC enabled and whether validating resolvers actually trust its chain — checked against Cloudflare and Google independently, so any disagreement between them is visible rather than hidden behind one verdict.

How do I check if DNSSEC is working?

Reviewed by Prabath Thalangama · Last updated

Ask a validating resolver for the domain and see whether it marks the answer as authenticated. This checker queries Cloudflare (1.1.1.1) and Google (8.8.8.8) directly, reads the AD flag on each response, checks for a DS record at the parent, and reports signed, unsigned or failing validation.

DNSSEC signs DNS answers so resolvers can detect forged or tampered responses. It only works when the whole chain of trust is intact: the zone must be signed, and the parent zone must publish a matching DS record.

A bogus result means validating resolvers return SERVFAIL, which makes the domain unreachable for the large share of users behind validating resolvers. That is why a broken DNSSEC setup is worse than none.

How do I test DNSSEC for my domain?

  1. Enter the domain, for example example.com.
  2. Check the overall status, then each resolver's result.
  3. If validation fails, compare the DS record at the registrar with the DNSKEY your DNS provider publishes.

How to read the results

Validated
Each resolver set the AD (Authenticated Data) flag: the chain of trust from the root down to your zone checks out.
Not signed
No DNSSEC on the domain. Reported as information, since DNSSEC is optional.
Validation failed
The zone is signed but resolvers return SERVFAIL. Critical: the domain is unreachable for users of validating resolvers.
DS missing
The zone is signed but the parent has no DS record, so DNSSEC isn't actually in effect.
Resolvers disagree
One resolver validates and the other doesn't, often during a key rollover or a DS change that hasn't reached every cache.

Common DNSSEC failures

SERVFAIL after moving DNS providers

The DS record at the registrar still matches the old provider's key. Replace it with the new provider's DS, or remove it before the move.

Expired signatures

RRSIG records have an expiry date. A self-managed signer that stopped running lets them lapse. Restart re-signing and check its schedule.

dig +dnssec example.com SOA | grep RRSIG

Examples and command-line equivalents

Check validation from the command line

dig @1.1.1.1 example.com A +dnssec   # look for 'ad' in flags
dig @8.8.8.8 example.com A +cd       # +cd skips validation: compare results
delv example.com

Frequently asked questions

Why did my domain break after changing DNS providers?

If DNSSEC was enabled, the old DS record at the registrar no longer matches the new provider's keys. Remove the DS record (or replace it with the new one) at your registrar.

Should I enable DNSSEC?

It protects against forged DNS answers and is required for DANE. Enable it when your DNS provider manages signing for you and your registrar supports DS records; most do.

Further reading

All DNS tools →