CAA Record Checker
Find the CAA record a CA will use for your domain, then check it against every CA that issued for the name in Certificate Transparency logs.
Privacy: The domain you type goes to /api/caa-check on this site. The edge function asks Cloudflare's public DNS-over-HTTPS resolver for CAA records on the name and its parents, and asks CertIndex for certificates logged for the exact name. It sees your IP address only for rate limiting. Nothing is stored, and both data sources are public.
What it does
Type a domain. The checker finds the CAA record set a certificate authority would
use for that name, climbing to parent names the way
RFC 8659 requires. It parses every
issue, issuewild and iodef value, including the RFC 8657 accounturi and
validationmethods parameters. Then it compares the record with the CAs that
actually issued for the name in Certificate Transparency over the last 13 months.
The comparison is the part a plain DNS lookup cannot give you:
- Renewal risk. A CA that issued your current certificate but is missing from the record now will fail at the next renewal.
- Unused allowances. CAs your record allows but that never issued for the name.
- Partial account binding. One bound value next to an unbound one protects nothing, because CAA values are additive.
- Wildcards. Wildcard certificates checked against
issuewild, plus a suggestion to forbid wildcards when none were issued.
Each run ends with a suggested record set built from the CAs seen in CT, ready to edit and paste into your zone.
How it works
The query runs at /api/caa-check, an edge function limited to thirty checks an
hour. It asks Cloudflare’s public DNS-over-HTTPS resolver for CAA on the name and
each parent in turn, stopping at the first non-empty set. In parallel it reads one
page of certificates for the exact name from CertIndex, an index of the public CT
logs, and counts final certificates (not precertificates) by issuer. Each upstream
has its own deadline. If the CT index is slow, you still get the full CAA analysis
with a note that the history check was skipped.
When to reach for it
- Before you change DNS or hosting providers, to see which CAs your record must keep allowing.
- After a renewal fails with a CAA error.
- When you add
accounturi, to confirm no unbound value is left behind. - As part of a periodic certificate review, next to the CT lookup and the TLS inspector.
The CAA record reference covers record syntax, and our CAA survey of 60 developer sites shows what these findings look like in practice.
Frequently asked questions
Why does the tool show a parent domain's record?+
A CA shows as 'issued here but not allowed now'. Is that a mis-issuance?+
What does 'account binding is partial' mean?+
Where do I find my ACME account URL for accounturi?+
Why are some CAs listed as unmapped?+
Does a missing CAA record mean my domain is insecure?+
Related tools
Certificate Transparency Lookup
Look up indexed certificate observations for a domain, inspect coverage limits, discover names from SANs, and export the returned records as CSV.
TLS Certificate Inspector
Fetch a live certificate chain by hostname or paste a PEM. Decodes subject, SANs, validity, key and signature algorithms, fingerprints and embedded SCTs.
DNS Lookup
Query A, AAAA, CNAME, MX, TXT, NS, SOA, CAA and SRV records over DoH, with TTLs, the DNSSEC AD bit, and SPF, DMARC, MX and CAA read back in plain English.
→ Read the full guide:How this tool actually works
Data from DNS over HTTPS (Cloudflare) and Certificate Transparency logs via CertIndex.