Wraps Logo
wraps · free tool

DKIM Record Checker

Test a domain against 25 common DKIM selectors, or enter your own under advanced options, and see the key type and size for each one found.

Why a DKIM lookup needs a selector

A DKIM public key lives at selector._domainkey.yourdomain.com. The selector is a label the sender picks, and DNS has no way to list every label under _domainkey. A receiver does not have this problem because the selector is written in the DKIM-Signature header of the message. A checker that only has your domain has to guess.

So this tool guesses in a bounded way. In quick mode, which is what this page runs, it tries 25 selectors: google, selector1, selector2, default, dkim, mail, email, s1, s2, k1, sendgrid, amazonses, mandrill, mailgun, postmark, resend, ses, sg, mg, pm, smtp, mta, mx, primary and main. If your provider uses something else, open the advanced options and enter the selectors yourself, separated by commas.

What a miss does and does not mean

Finding nothing does not prove DKIM is broken. It proves none of those 25 names has a key. Amazon SES is the common case. Easy DKIM gives each identity three CNAME records with random tokens as the selector, so no guessable name will ever match. If the SPF record mentions Amazon SES and no selector turns up, the checker adds a note saying so.

For SES, copy the three tokens from the console under the identity's DKIM section, or from the DNS records the identity shows, and paste all three into the selector field. SendGrid and Mailgun also use provider-specific names, so the same approach applies.

What gets reported for each selector found

For every selector with a key, the result shows the key type and size. RSA keys under 2048 bits produce a warning, and under 1024 bits an error, because short keys are easier to attack. Two other tags matter: t=y means the domain is in testing mode and receivers may ignore failures, and an empty p= means the key was revoked on purpose.

The checker also looks at the h= tag. A key that only allows sha1 gets flagged, since sha256 is the expected hash. A service type (s=) that excludes email gets flagged too.

Rotating keys without a gap

Selectors exist so you can rotate. Publish the new selector, switch the sender to sign with it, wait until mail signed with the old key has been delivered, then retire the old record. Deleting the old key first turns in-flight messages into DKIM failures.

If you see both an old 1024-bit key and a new 2048-bit key in the results, that is usually a rotation caught halfway. Check that the sender is signing with the new one before you remove the old.

What this tool does not do

It checks that keys exist and look sane. It does not verify a signature on a real message, so it cannot tell you whether your sender is actually signing with the key it found. Send a test message to a mailbox you control and read the Authentication-Results header for that.

Questions

How do I find my DKIM selector?

Open a message you sent and look at the s= tag in the DKIM-Signature header, or check your provider's dashboard. Enter it in the advanced options of the checker.

Which selectors does the checker try?

In quick mode, 25 common ones, including google, selector1, selector2, default, s1, s2, k1 and provider names such as sendgrid, mailgun, postmark and resend.

Why can't the checker find my Amazon SES DKIM key?

Easy DKIM uses three random tokens as selectors, so no common name matches. Copy the three tokens from the SES console and enter them as selectors.

What key size should I use for DKIM?

2048-bit RSA. The checker warns below 2048 bits and reports an error below 1024.

Keep going

Background on the concepts lives in the glossary: DKIM and DKIM selector. To check the rest of the domain, use the full deliverability checker, the DMARC record checker or the SPF builder.