1. Home
  2. Developer tools
  3. DKIM Record Checker

DKIM Record Checker

Enter a domain and a selector to fetch the DKIM public key from DNS and check it. If you do not know the selector, the page tries common names.

Free, no sign-up. Runs in your browser; see “Private by design” for the one online step.

How to use DKIM Record Checker

  1. Enter the domain and the selector.
  2. Press Check DKIM key.
  3. Read the key size and the findings.

Features

  • Fetches selector._domainkey TXT records
  • RSA key size read from the key itself
  • Ed25519 support
  • Detects revoked keys, testing mode and weak keys
  • Tries 15 common selector names
  • Cloudflare or Google resolver

Supported formats

Input

  • Domain and selector

You get

  • Key type and size
  • Findings

Private by design

Nothing is sent until you press the button. Then the domain names or addresses needed for the check (for example the name and the record type) are sent over HTTPS to the resolver you choose, Cloudflare (cloudflare-dns.com) or Google (dns.google), which see them under their own privacy terms and your IP address. openWorkstand never receives them. How local processing works

Good to know

  • It checks the published key, not that your mail is signed with it.
  • Selector search tries 15 common names, so a custom selector will not be found.

Guide

Checking DKIM keys: selectors, key sizes and revoked records

DKIM signs outgoing mail with a private key. Receivers fetch the matching public key from DNS and use it to check that the message was not altered and that the signing domain authorised it. When DKIM fails, mail is more likely to land in spam, and DMARC cannot pass through DKIM. The page fetches a key by selector and reports what it contains.

Where the key lives

The public key is published in a TXT record at selector._domainkey.example.com. The selector is a label chosen by whoever sets up the key, so a domain can have many keys at once. The record is a list of tags separated by semicolons: v=DKIM1 (version), k= (key type, rsa by default), p= (the public key in Base64), and optional tags such as t= for flags (t=y means testing mode, where failures should not be treated as errors) and h= for acceptable hash algorithms. The format is defined in RFC 6376, with Ed25519 keys added by RFC 8463.

Finding the selector

The selector is not secret and appears in every signed message. Open a message sent from the domain, view the full source and find the DKIM-Signature header; its s= value is the selector and d= is the domain. Providers have typical names such as google for Google Workspace, selector1 and selector2 for Microsoft 365, k1 for Mailchimp and s1/s2 for some others. If you cannot get a message, press the button that tries 15 common names. It reports every one that has a key.

What the page checks

For the key it fetches, the page decodes the public key to find the real size in bits, not the length of the text, and states whether that meets the current recommendation. 2048-bit RSA is recommended; 1024-bit is the minimum RFC 8301 allows and is considered weak; smaller keys are rejected by modern receivers. It also looks for the revoked state (empty p=), testing mode, and an unrecognised key type. Because many providers publish the key as a CNAME to their own DNS, the resolver follows it and the page shows the final record.

A worked example

Press Sample to check selector google at github.com. The page prints the name google._domainkey.github.com, key type rsa, key size 2048 bits, status active, the start of the record (v=DKIM1; k=rsa; p=MIIBIjANBgkq…) and the message “A 2048-bit RSA key meets the current recommendation”. The characters MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A at the start of the key are the usual beginning of a 2048-bit RSA public key in Base64. A retired selector shows the opposite: a record with an empty p= and the status revoked.

Limits

A key in DNS shows that someone could verify signatures made with it. It does not show that your mail servers sign with that selector, or that the signature will align with the From domain for DMARC. For that, send a message to a mailbox you control and read its authentication results. The fifteen-name search tries common names only, so a custom selector will not be found; use the header instead. Next, check the sender list with the SPF Record Checker and the policy with the DMARC Checker.

Checked against the current version of the DKIM Record Checker on .

Frequently asked questions

What does an empty p= tag mean?

The key has been revoked. A record such as v=DKIM1; k=rsa; p= tells verifiers that signatures made with that selector must no longer be trusted, which is how old selectors are retired while the record stays in DNS.

Why does a domain have several selectors?

Each sending service or key generation gets its own selector, so keys can be rotated without downtime and services can be added or removed independently. A domain using several email services will often have one selector per service.

Where do I find my DKIM selector?

Open a message sent from your domain, view its source and read the s= value in the DKIM-Signature header.

What key size should DKIM use?

2048-bit RSA. 1024-bit keys are the minimum RFC 8301 allows and are considered weak, and Ed25519 keys are also accepted by supporting receivers.

Is anything sent over the internet?

Nothing is sent until you press the button. Then the domain names or addresses needed for the check (for example the name and the record type) are sent over HTTPS to the resolver you choose, Cloudflare (cloudflare-dns.com) or Google (dns.google), which see them under their own privacy terms and your IP address. openWorkstand never receives them.

Keep working with the result

openWorkstand also includes a free workspace with documents, spreadsheets, tasks, projects and a calendar that save to a folder on your computer.