DKIM record checker

The DKIM Tester That Reads the Signing Key.

Enter any domain and selector to look up its DKIM record, confirm the signing key is valid, and read its type and length in plain English. No signup.

Leave the selector blank and we'll try the common provider defaults. Free, no signup.

Trusted by 500,000+ leading GTM teams of all sizes

From domain to signing key

How the DKIM tester works

No login, no install. Enter a domain and selector, and Verifox fetches the DKIM record, confirms the key is valid, and shows the key type.

001DOMAIN

Enter a domain and selector

Drop in any domain and, if you know it, the DKIM selector. Leave the selector blank and we try the common provider defaults. No login, no account, nothing to install.

002LOOKUP

Look up the DKIM record

Verifox runs a live DNS query for the DKIM TXT record at selector._domainkey, the same authentication step our verification engine runs, resolved over encrypted DNS over HTTPS.

003VERDICT

Read the key and verdict

See the public key type and length, whether the signature is valid, and the published record in plain English. That is the inbox-placement signal a verification starts from.

The plain-English version

What a DKIM test actually does

One question of a domain's DNS: is the signing key published, and is it well formed enough to trust?

A DKIM test looks up the public key a domain publishes at selector._domainkey, the half that verifies mail signed with the matching private key. Because each sending service can use its own selector, a domain often publishes several keys at once, so the DKIM record checker above takes an optional selector to confirm the exact key a given sender signs with.

The 9-point engine

Nine checks, one verdict

The same nine-check engine our paid email verification API runs. Every email, every verification, every time.

  1. 01

    Syntax

    Every address runs a full RFC 5321 and RFC 5322 compliance pass before a single network call goes out. The engine catches what visual scanning misses, the double dot in [email protected], the trailing period, the IDN homograph that looks valid but resolves to a different domain.

    Bundled typo suggestions let your form offer “did you mean [email protected]?” instead of rejecting silently.

    /dashboard/verify
    The Verifox dashboard verifying matthamnett@avencera.ai: the Syntax tile is ringed in the nine-check result board, beside a card showing the parse of matthamnett @ avencera.ai against RFC 5321 and RFC 5322, verdict “Valid format”.
  2. 02

    Domain & MX

    Once syntax passes, the engine resolves the domain. We confirm the DNS records exist, fetch the MX record priority list in order, and verify at least one mail-exchange server is actively accepting connections right now.

    Misspelled domains like gmial.com, expired domains, and parked-for-sale domains all fail this gate before the engine wastes a single SMTP roundtrip.

    /dashboard/verify
    The Verifox dashboard verifying matthamnett@avencera.ai: the MX Record tile is ringed in the result board, beside a card showing the real MX 0 record avencera-ai.mail.protection.outlook.com on Microsoft 365, verdict “MX record found”.
  3. 03

    SMTP handshake

    The engine opens a TCP connection on port 25, performs the EHLO handshake, then negotiates MAIL FROM and RCPT TO. Every server response code (220, 250, 550, 552) is parsed deterministically against the IANA enhanced-status registry.

    This is the moment a mailbox proves it actually exists. No third-party guesses, no statistical heuristics, just the receiving server's own answer.

    /dashboard/verify
    The Verifox dashboard verifying matthamnett@avencera.ai: the SMTP Connect tile is ringed in the result board, beside a card showing the EHLO → MAIL FROM → RCPT TO exchange and the server’s 250 2.1.5 Recipient OK reply, verdict “Mailbox proven”.
  4. 04

    Catch-all detection

    Some domains accept every email regardless of whether the mailbox exists, a setup known as a catch-all configuration. The engine sends a deterministic probe to a deliberately fake address ([email protected]); if the server returns the same 250 OK it returned for the real address, the domain is catch-all.

    The verdict isn't dropped, it's flagged RISKY so you know the deliverability signal is degraded.

    /dashboard/verify
    The Verifox dashboard verifying matthamnett@avencera.ai: the Catch-All tile is ringed in the result board, beside a card comparing the real address (250 OK) with a deliberately fake probe (550 rejected), verdict “Validates recipients”.
  5. 05

    Disposable

    The engine maintains a curated registry of 10,247 disposable email providers, including Mailinator, Guerrilla Mail, 10MinuteMail, Tempmail, and the long tail of regional clones.

    Any address matching the blocklist is flagged INVALID. Deliverability to a mailbox that exists for 10 minutes and is never checked is functionally zero, regardless of whether the SMTP handshake passes.

    /dashboard/verify
    The Verifox dashboard verifying matthamnett@avencera.ai: the Disposable tile is ringed in the result board, beside a card showing the 10,247-provider throwaway blocklist and no match for avencera.ai, verdict “Legitimate domain”.
  6. 06

    Role address

    info@, support@, no-reply@, admin@, billing@. These are shared inboxes, not individuals.

    The engine extracts the local-part of every address, matches it against the known role-prefix registry, and tags the result with a reduced engagement score.

    You don't drop them automatically. The verdict flags them as roles so you can decide.

    /dashboard/verify
    The Verifox dashboard verifying matthamnett@avencera.ai: the Role Address tile is ringed in the result board, beside a card matching the local-part matthamnett against the info@ / support@ / no-reply@ / admin@ role registry with no match, verdict “Personal address”.
  7. 07

    Domain age

    Fresh-spam domains registered hours ago are the single biggest source of inbound abuse. The engine queries WHOIS and RDAP for every unique domain, extracts the registration date, and flags anything under 30 days old with a “fresh” warning.

    Domains aged 5+ years pick up a corresponding trust signal. The same heuristic spam filters have been using since the early 2000s, ported into the verdict.

    /dashboard/verify
    The Verifox dashboard verifying matthamnett@avencera.ai: the Domain Age tile is ringed in the result board, beside a card showing the WHOIS creation date 2025-07-10 against the 30-day fresh-spam threshold, verdict “1y old”.
  8. 08

    Email authentication

    SPF, DKIM, and DMARC together prove the sender is authorised to send from that domain.

    The engine reads each policy via DNS, validates SPF includes recursively, scans six common DKIM selectors, and confirms DMARC alignment with the From: header.

    A failing DMARC policy means the sender can be spoofed, so the verdict warns you before you reply.

    /dashboard/verify
    The Verifox dashboard verifying matthamnett@avencera.ai: the DMARC tile is ringed in the result board, beside a card showing the real SPF include, DKIM selector1/selector2 and DMARC p=reject records, verdict “Aligned & enforcing”.
  9. 09

    Mailbox state

    Beyond “exists vs doesn't exist”, the engine extracts the precise mailbox state from the SMTP server's response. Full inbox (552 / 522 quota), disabled mailbox (550 5.1.1), out-of-office autoresponder, frozen account.

    Each state maps to a specific retry policy. Full inbox retries in 6 hours. Disabled drops permanently. The verdict tells you which bucket the bounce belongs in so your retry logic doesn't waste cycles.

    /dashboard/verify
    The Verifox dashboard verifying matthamnett@avencera.ai: the Inbox Exists tile is ringed in the result board, beside a card showing the live 250 2.1.5 active reply against the full-inbox and disabled states that drive retry policy, verdict “Inbox confirmed”.
What it tells you

What an MX lookup reveals about a domain

An MX lookup is a read-only window into how a domain receives email. In one query you learn who runs the mail, how it routes, and if its sendable

Verification engine
9

checks on every
address

The same DNS resolution the Verifox verification engine runs first on every address it checks.

Who runs the mail

The MX hosts name the provider — Google Workspace, Microsoft 365, Proofpoint, or a self-hosted server.

Routing and priority

Records return lowest-number-first, so you read the primary server and its fallbacks straight away.

A deliverability signal

No MX record, or a broken one, means mail bounces before it is ever sent.

The first deliverability step

An MX lookup starts the story; verifying the address confirms the mailbox itself is real.

Verify the mailbox itself

An MX lookup is only the first step. Verifying the address confirms the mailbox is real and deliverable.

Verify an address — free

Provider at a glance

The single most useful thing a mail exchanger lookup tells you — who to talk to about mail.

How we stack up

Verifox vs other
DKIM testers

MXToolbox, DMARCLY, and EasyDMARC all look up DKIM records. Verifox reads the key in plain English and verifies the mailbox too.

★ The complete testerVerifox
MXToolbox
DMARCLY
EasyDMARC
MXToolboxRaw record
DMARCLYPlain English
EasyDMARCPlain English
MXToolbox
DMARCLY
EasyDMARC
MXToolbox
DMARCLY
EasyDMARC
MXToolbox
DMARCLY
EasyDMARC
MXToolbox
DMARCLY
EasyDMARC
MXToolbox
DMARCLY
EasyDMARC
MXToolboxSubscription
DMARCLYSubscription
EasyDMARCSubscription
Pricing

Pay once, or not at all

Most tools reset your balance every month. Verifox sells credits that sit in your account until you spend them.

FreeProve it on your own list before you spend anything.$0

forever

1,000credits on signup

No card required

2,500 with a work email

Free includes

  • All 9 checks included
  • Full API and bulk CSV
  • Catch-all confidence scoring
  • No card required
Most popular
Credit packsBuy once, spend whenever. Slide to price your list.$59

one time

10,000credits

$0.0059 eachSAVE 34%

Everything in Free, plus

  • Credits never expire
  • Verify or find from one pool
  • Up to 79% off at volume
  • No contract, no minimum
Verifox ONECredits land monthly and stack on your balance.$79

per month

15,000credits a month

$0.0053 each

Unused credits roll over

Everything in packs, plus

  • Unused credits roll over
  • Our lowest per-email rate
  • 50 requests per second API
  • Cancel anytime

One credit verifies one address; a find costs 10. All prices in USD, checkout via Stripe.

What teams are saying

Built for the teams that ship outbound

Growth leads, marketers, and engineers running real campaigns on real lists, with a verified email on every byline.

Thomas George, GTM Lead at Stripe

90% lower bill, 0.4% bounces

We were paying ZeroBounce a four-figure monthly bill and still landing 3% bounces on cold campaigns. Switched the pipeline to Verifox, dropped to 0.4% bounces, and cut the bill by more than 90%.
Thomas G.GTM Lead, Stripe
Brittany King, GTM Lead at HubSpot

Catch-all finally has a verdict

Other tools flag 30% of our B2B list as 'risky catch-all' and leave the call to us. Verifox returns a real verdict on those addresses, with a confidence score. We send more, we send safer.
Brittany K.GTM Lead, HubSpot
Dale Micallef, GTM Lead at Slack

Reputation rebuilt in 6 weeks

We had a Gmail spam-folder problem after a bad list import. Verifox cleaned the list and the warmup ran on the same engine. Back in primary inbox in six weeks. One vendor, half the cost.
Dale M.GTM Lead, Slack
Erica Kovalkoski, GTM Lead at Discord

0.7% bounce on 50k

Ran a 50,000-address outbound list through Verifox before our quarterly campaign. Bounces landed at 0.7%, sender reputation didn't move, replies were up 22% over last quarter.
Erica K.GTM Lead, Discord
Greg Lindsay, GTM Lead at OpenAI

MCP in 10 minutes

Their MCP server let me wire email verification directly into our internal Claude agent in about ten minutes. Zero glue code. No other vendor in this space has thought about that workflow.
Greg L.GTM Lead, OpenAI
Rini Vasana, Product Manager at Vercel

10k/min held under 400ms

Tested Verifox at 10,000 verifications per minute on a Tuesday morning. Latency held under 400ms median, no soft failures, no rate-limit walls. The vendor we benched throttled at 2,000/min.
Rini V.Product Manager, Vercel
Jonathan Aharon, GTM Lead at MongoDB

Hygiene that doesn't break pipeline

Our SDRs were enriching from three tools and 14% of the emails were invalid before they hit the sequencer. Verifox sits in the pipeline now and the team stopped seeing 'undeliverable' replies the next week.
Jonathan A.GTM Lead, MongoDB
Emma Fox, GTM Lead at Linear

Bulk that actually ships

Bulk upload, sorted CSV back in twenty minutes, plug into our growth stack. The half-day list-hygiene project per cohort turned into something the marketing intern runs on autopilot.
Emma F.GTM Lead, Linear
David Hare, GTM Lead at Snowflake

Scores you can act on

Verifox returns a 0-100 confidence score per address, not just a label. We thresholded at 75 for the cold sequencer, 60 for nurture, and our deliverability team finally has a knob they can tune.
David H.GTM Lead, Snowflake
Trust & compliance

Enterprise-grade security and scale

Every layer of the stack carries a third-party attestation, so you can ship into regulated industries without rebuilding your compliance posture.

  • Claymation Japanese hanko seal in jade-green clay with a twisted shimenawa rope rim, the words SOC 2 TYPE II embossed in cream clay on its face.

    SOC 2 Type II

    Independently audited to the SOC 2 Type II standard.

  • Claymation Japanese hanko seal in cobalt-blue clay with a twisted shimenawa rope rim, the word GDPR embossed in cream clay on its face.

    GDPR

    Built for the EU with full GDPR data-subject rights.

  • Claymation Japanese hanko seal in rose-pink clay with a twisted shimenawa rope rim, the word CCPA embossed in cream clay on its face.

    CCPA

    California opt-out, do-not-sell, plus DSAR handling.

  • Claymation Japanese hanko seal in terracotta clay with a twisted shimenawa rope rim, the text ISO 27001 embossed in cream clay on its face.

    ISO 27001

    Information security held to the ISO 27001 standard.

  • Claymation Japanese hanko seal in lilac-purple clay with a twisted shimenawa rope rim, the text ISO 42001 embossed in cream clay on its face.

    ISO 42001

    AI governance aligned to the new ISO 42001 standard.

Free field manual

The Dead List

An investigation into the money leaking out of your list - and the nine checks that decide whether your email is read, or never arrives at all.

The Dead List field manual, held up by the Verifox fox
Get the free manual

57 pages, free PDF, no signup

Common questions

DKIM testing, answered.

Common questions about DKIM: what the record contains, where to find the selector, why tests fail, and how DKIM works alongside SPF and DMARC.

What is a DKIM record?

A DKIM record is a TXT entry published in your DNS that holds a public key. Your sending platform signs every outgoing message with the matching private key, and a receiving server fetches the public key to confirm the signature is valid and the message was not altered in transit. The record lives at a selector._domainkey.yourdomain hostname.

Type a domain into the DKIM tester above and Verifox reads the record back, the key type, the key length, and whether it is well formed. For the definition on its own, the DKIM glossary entry walks through how the signing handshake works.

How do I test a DKIM record for a domain?

The fastest way is to paste the domain into the DKIM tester above, add the selector if you know it, and read the record back. No account, no install. You can also run a DKIM test from a terminal with dig TXT selector._domainkey.example.com, but that returns the raw TXT string you then have to parse yourself.

The Verifox DKIM record checker instead reads the key in plain English, flags whether the signature is valid, and flows straight into mailbox verification when you need to go past authentication.

What is a DKIM selector?

A DKIM selector is the label that points to a specific signing key in your DNS. Because the record lives at selector._domainkey.yourdomain, the selector is what lets a single domain publish several DKIM keys at once, one per sending service, and rotate them without breaking the others.

Each platform uses its own selector. Google Workspace signs with google, Microsoft 365 with selector1 and selector2, and marketing tools each have their own. The DKIM lookup above accepts an optional selector so you can test the exact key you care about.

How do I find my DKIM selector?

The selector is embedded in the s= tag of the DKIM-Signature header on any message you have sent. Open a sent email, view its original or raw source, and look for the s= value, that is your selector for that sending service.

You can also get it from the sending platform itself: Google Workspace, Microsoft 365, and most email tools show the selector when you turn on DKIM signing. Once you have it, drop it into the DKIM tester above to confirm the key is actually published in your DNS.

Why does my DKIM test fail?

A DKIM test fails for a handful of common reasons: the selector is not published in DNS, the key was rotated by your provider but the DNS record was never updated, the record is malformed, or you are testing the wrong selector for that sender. Any of these means receivers cannot verify the signature.

Because each sending service uses its own selector, a domain can pass DKIM for one sender and fail for another, so always test the selector that matches the platform you send through. The SPF, DKIM, and DMARC check runs all three records in one pass if you want the complete picture.

How do I fix a failing DKIM record?

The fix lives in two places. First, turn on DKIM signing in the sending platform (Google Workspace, Microsoft 365, your marketing tool); it will give you a selector and a public key. Second, publish that key as a TXT record at selector._domainkey.yourdomain in your DNS, exactly as the platform provides it.

Re-run the DKIM test after the DNS change to confirm it now validates. DNS can take time to propagate, so a freshly published key can read as failing for a little while. If the key was rotated, make sure the new selector is live before you retire the old one.

What is the difference between a 1024-bit and a 2048-bit DKIM key?

The number is the length of the RSA public key in the record. A 2048-bit key is stronger and is the current recommendation; a 1024-bit key still works but is the weaker minimum. Most major providers now default to 2048-bit.

The DKIM tester above reads the key length back so you can confirm which you are publishing. If you are still on a 1024-bit key, rotating to 2048-bit is a low-effort hardening step: generate the new key in your platform and republish the selector.

Is the DKIM tester the same as checking SPF and DMARC?

No. This page is the DKIM-specific tool, it looks up one record, the signing key at a selector, and validates it. SPF and DMARC are separate records that do different jobs: SPF lists who is allowed to send, and DMARC sets the policy when a message fails.

If you want all three in a single pass, use the SPF, DKIM, and DMARC check instead, it is the all-in-one authentication checker. Use this DKIM tester when you specifically need to dig into the signing key and its selector.

Does a passing DKIM test mean an email address is valid?

No, and the difference matters. A DKIM test checks the domain’s signing key, can its mail be cryptographically proven genuine. It says nothing about whether a specific mailbox on that domain actually exists.

A domain can publish a perfect DKIM record while jane@ that domain is long gone. That is why DKIM is the authentication layer of deliverability and the free email checker is the mailbox layer. An MX lookup rounds out the picture by showing where the mail routes.

Can I test DKIM records in bulk or from my own app?

Yes. The single DKIM test above is free with no account. For a list of domains, the REST API returns the DKIM record and its validity for each one, so you can run a bulk DKIM lookup programmatically. Bulk checks run on pay-as-you-go credits that never expire.

Verifox also ships native MCP server support, so AI agents (Claude, Cursor, custom LLM apps) can test DKIM and verify addresses without glue code, and live uptime is tracked at status.verifox.ai.