OneWebDesk

DKIM Record Lookup

Look up the selector._domainkey TXT record for a DKIM public key.

DKIM Record Lookup fetches the TXT record at selector._domainkey.<domain> to show a domain's DKIM public key and settings. DKIM cryptographically signs outgoing mail so receivers can verify it wasn't forged — together with SPF and DMARC it drives deliverability and trust.

DKIM records exist per selector. The selector varies by provider (e.g. Google Workspace uses google) and can be found in the s= value of the DKIM-Signature header of a received email.

If you don't know the selector

DKIM can't be found by domain alone — you need the selector. Check the s= value in the DKIM-Signature header of an email you received. Common values: google, default, selector1/selector2 (Microsoft), k1 (Mailchimp). To analyze a whole received header at once, use Email Header Analyzer.

Key size

We estimate the RSA key size from the public key (p). 1024-bit is weak; use 2048-bit or larger. An empty p= means the key has been revoked.

Reading DKIM record tags

A DKIM TXT value is a list of tag=value pairs separated by ;. Most people only look at p=, but the other tags can change how a receiver treats the signature.

TagMeaningExample / default
vVersion. If present it must be the first tagv=DKIM1
kKey type. Defaults to rsa if omittedk=rsa / k=ed25519
pBase64 public key. Empty means revokedp=MIGfMA0G…
tFlags. y=testing mode (receivers ignore failures), s=no subdomainst=y
hAllowed hash algorithmsh=sha256
sService type. *=all, email=email onlys=email

Selectors by provider

ProviderName to query
Google Workspacegoogle._domainkey
Microsoft 365selector1._domainkey, selector2._domainkey (CNAME)
Amazon SES<token>._domainkey (3 CNAMEs)
SendGrids1._domainkey, s2._domainkey
Mailchimp / Mandrillk1._domainkey, k2._domainkey
Zoho Mailzoho._domainkey or zmail._domainkey

Worked example

Entering selector google and domain example.com queries the TXT record at google._domainkey.example.com. If the result is v=DKIM1; k=rsa; p=MIIBIjANBg…AQAB, then v=DKIM1 marks it a valid DKIM record, k=rsa is an RSA key, and a p= Base64 string of roughly 392 characters indicates a 2048-bit key. If you see t=y the record is still in testing mode — receivers ignore signature failures, so remove this flag once you've finished validating to make DKIM actually count.

Common pitfall

  • Doubling up _domainkey — this tool takes the selector and domain separately and builds selector._domainkey.<domain> for you. Pasting the full google._domainkey into the selector field queries the wrong name.
  • Thinking a Microsoft 365 record is "empty" — selector1/2 are usually CNAMEs pointing at onmicrosoft.com, not raw TXT. A short value with no visible key is normal; you must follow the CNAME to reach the real key.
  • Leaving 1024-bit keys in place — keys generated years ago are often 1024-bit. Add a fresh 2048-bit selector via key rotation, then revoke the old one (empty its p=).

Frequently asked questions

Can't I just enter the domain?
DKIM records are per selector, so a selector is required. Find the s= value in the DKIM-Signature header of a received email.
Can there be multiple selectors?
Yes. You may use several selectors for key rotation or per service. Each is looked up separately.
The p= value is empty.
That selector's key has been revoked — it signals the key is no longer used for signing.
Does DKIM alone stop spoofing?
DKIM provides signature verification, but the blocking decision is made by DMARC. Set up SPF, DKIM and DMARC together.

Related guides

Related tools

Email