How Email Receivers Normalize DKIM d= Domain to Lowercase
Learn how email receivers normalize DKIM d= domains to lowercase during verification—why it matters, how it affects deliverability, and how to verify.
Why Does DKIM Domain Normalization to Lowercase Matter for Deliverability?
You sent a perfectly signed email. The DKIM header looks correct. The domain in the d= tag matches your DNS records. And yet, it bounced or landed in spam. Why? Because email receivers normalize the d= domain to lowercase during verification — a detail that silently breaks valid signatures.
DKIM is meant to prove sender identity. But if your signing engine uses mixed case in the d= tag — say, "Example.com" instead of "example.com" — the receiver's system normalizes it to lowercase before checking. A mismatch at this level causes the signature to fail, even if everything else aligns. It’s a silent killer of inbox placement.
Most tools don’t flag this issue. Even experienced senders miss it. It’s one of those infrastructure blind spots that erodes sender reputation over time. This piece walks through when, why, and how domain normalization affects deliverability — and what to do about it.
Key takeaways
- DKIM validators normalize the d= domain to lowercase during verification, regardless of how it was signed.
- A valid DKIM signature can be rejected if the d= domain in the signature uses mixed or uppercase letters.
- Consistently using lowercase in DKIM d= tags prevents unnecessary signature failures and protects sender reputation.
How Do Email Receivers Normalize DKIM d= Domain to Lowercase?
When validating a DKIM signature, email receivers convert the d= domain in the signature to lowercase, as required by RFC 6376. This normalization ensures consistent comparison regardless of how the domain was originally written. It applies to the full domain, including subdomains and the TLD, before checking against the public key published in DNS.
The Why Behind the Rule
DKIM is designed to be case-insensitive. The domain part of an email address is inherently case-insensitive in DNS—so receivers must normalize it to lowercase to avoid false failures due to inconsistent capitalization. This is not optional. It’s a strict requirement defined in RFC 6376, Section 3.3, which specifies that all domain names in DKIM are to be treated in lowercase.
- Receive the DKIM signature header — The receiver finds the DKIM-Signature header in the email, which contains the d= field pointing to the signing domain.
- Convert the entire d= domain to lowercase — This includes every part: subdomains, main domain, and top-level domain. For example,
EXAMPLE.COMbecomesexample.com. - Fetch the public key from DNS — The receiver queries DNS for the TXT record at
dkim._domainkey.example.com(using the normalized domain). - Compare the normalized domain against DNS — If the domain in the signature doesn’t match the one in DNS (after normalization), the signature fails.
- Verify the signature using the public key — Only after domain match is the actual cryptographic signature verified using the retrieved public key.
Why This Matters for Senders
Even minor capitalization errors in the DKIM domain can cause verification to fail. You might think Mycompany.com and mycompany.com are the same—but the DNS lookup won’t find a key for the former. Tools like MailTester’s email checker can help you catch such issues before sending, ensuring your DKIM domain is correct and consistent across all messages.
What Happens If the DKIM d= Domain Isn't Lowercase?
If the domain in the DKIM d= tag is written in uppercase or mixed case—like d=EXAMPLE.COM—email receivers automatically convert it to lowercase before checking the DNS record. This normalization is required by RFC 6376 and enforced by all major email providers, including Gmail, Outlook, Apple Mail, and Yahoo. If the DKIM public key is only published under the lowercase version (e.g., example.com), the signature passes. But if the DNS record exists only for the original casing, verification fails—regardless of whether the key itself is correct.
Why Normalization Matters
Let’s say you set up DKIM with d=EXAMPLE.COM. The receiving server sees this and normalizes it to example.com before querying DNS. If you only published the key for EXAMPLE.COM, no server will find it—despite the key being technically correct. This is a common mistake in misconfigured SPF/DKIM setups. The result? Your emails fail authentication, which can lead to delivery issues, inbox placement drops, or outright rejection.
RFC 6376, the standard governing DKIM, specifies that domain names are case-insensitive. That means servers must always treat domains in the d= tag as lowercase during validation. This behavior is consistent across all major mail providers. Even if one provider were to tolerate uppercase variants, the others wouldn’t—so treating them as lowercase is the only way to ensure delivery reliability.
How to Fix It
Make sure your DKIM DNS records use the lowercase version of your domain. Always publish the key under selector._domainkey.example.com, not Example.com or EXAMPLE.COM. If you’re unsure, check your DNS records using a tool like MXToolbox or DMARCian to verify they match the normalized form.
If you’re validating bulk email lists or testing deliverability, you can check for common issues like mismatched DKIM domains using our bulk email verification tool. It will flag inconsistencies in DKIM setup, DNS records, and other deliverability risks before you send.
Common Misalignment: Mixed Case in d= Tag vs Lowercase DNS Record
DKIM verifiers normalize the d= domain in a signature to lowercase before querying DNS. If your signature uses d=Example.com but the DNS TXT record is only published at example.com, the lookup still succeeds because the receiver treats both as identical. The failure isn’t in the receiver’s logic — it’s in your sending system’s inconsistent use of capitalization in the d= tag, which can lead to validation mismatches if tools or configurations don’t normalize properly.
Why Case Sensitivity Creates Verification Issues
Even though DNS is case-insensitive, the way you format the d= tag in your DKIM signature matters if your email service or email client doesn’t enforce lowercase. A sender using d=Example.com might assume it’s valid — but if their system doesn’t normalize that during signature generation, it can cause issues with strict receivers or verification tools.
Let’s be clear: receivers like Gmail or Microsoft’s systems do normalize the domain to lowercase before DNS lookup. You can confirm this behavior in RFC 6376, which specifies that domain names in DKIM are compared in a case-insensitive manner during verification. This is an industry-standard practice, not a bug.
So why do some signatures fail? Because the sending system didn’t follow the same normalization rule during header construction. Many legacy email tools, or self-hosted setups, don’t enforce lowercase in the d= tag, leading to inconsistent signatures. Even one uppercase letter — like in d=MyCompany.COM — can trigger subtle mismatches in environments with strict validation logic or third-party checkers.
How to Avoid the Pitfall
Use tools that ensure the d= tag is always lowercase. If your email provider or ESP doesn’t enforce this, check your DKIM generator settings or consider using a validation service to catch misformatted headers before sending. Tools like MailTester’s email checker can test individual addresses and verify the full DKIM signature structure, including proper domain formatting, ahead of delivery.
Even if the DNS record exists in lowercase, inconsistent formatting in the signature can cause red flags in automated systems that expect strict compliance. It’s not a matter of whether the DNS record is correct — it’s whether the sending system consistently follows the standard during signature creation. That consistency is what keeps your emails in the inbox.
Does Case Sensitivity Affect Other DNS-Based Email Checks?
You’re right to wonder—does case matter when checking SPF, DMARC, or TXT records? The answer is no. DNS lookups are case-insensitive by design: domains are stored and matched in lowercase. So SPF, DMARC, and TXT records are unaffected by capitalization during verification. The real outlier is DKIM, where the d= tag references the domain in the signature, and that domain is subject to explicit normalization to lowercase. That’s why DKIM signing is the most sensitive to case errors in practice.
How DNS Handles Case in Record Lookups
Every DNS lookup, regardless of the record type, is processed in lowercase. This isn’t a feature— it’s a core part of how DNS works. Per RFC 1035, domain names in DNS are case-insensitive. So whether you query “SPF.example.com” or “spf.EXAMPLE.COM”, the lookup resolves the same way. The system normalizes everything to lowercase before comparing or returning records.
This applies to all DNS-based checks: SPF, DMARC, TXT, MX—none of them care about case during the actual lookup. That means if your SPF record uses mixed case in the domain part, it still resolves correctly. The only place case can cause problems is in the initial signing process, not during validation.
Why DKIM Is the Exception
DKIM is different because it embeds the domain in the signature using the d= tag. When the receiver verifies the DKIM signature, it extracts that domain and normalizes it to lowercase before looking up the public key in DNS. If the domain in the d= tag was signed with uppercase letters, the receiver will still normalize it—but if the public key isn’t published for the lowercase version, verification fails.
So while the DNS system itself doesn’t care about case, DKIM signing does. A single uppercase letter in the domain part of a DKIM signature can break verification if the public key isn’t properly published for the lowercase form. This is one of the most common technical missteps in email authentication setups.
- SPF, DMARC, and TXT records are not impacted by case during DNS lookup—they’re always resolved in lowercase.
- DNS as a system treats all domain names case-insensitively, which is defined in RFC 1035. This ensures consistency across the internet.
- DKIM’s d= tag is the only part of email authentication that can fail due to incorrect case during signing, even if the DNS record itself is correct.
- Always sign and publish DKIM records using lowercase domains to avoid normalization mismatches.
- Use a real-time email checker like MailTester’s email checker to validate your DKIM settings before sending.
Why Is This Normalization Required by the DKIM Standard?
Domain names in DKIM are required to be normalized to lowercase because RFC 6376 explicitly defines them as case-insensitive. This ensures that verification results are consistent and predictable, regardless of how a sender formats the domain. Without normalization, the same domain could be treated differently—just by using different capitalization—leading to unreliable validation and abuse opportunities.
The Root Rule: RFC 6376
DKIM's case-insensitivity comes straight from RFC 6376, the foundational specification for DKIM. This document mandates that domain names in the d= tag must be converted to lowercase during verification. It’s not optional—it’s baked into the standard to prevent technical ambiguity across implementations.
Why It Matters in Practice
Let’s say you send an email with d=Example.com and another with d=example.com. Without normalization, some systems might treat them as different domains. But with lowercase normalization, both become example.com, ensuring the same verification rules apply every time. This consistency is crucial for systems like MailTester’s verification API, which checks DKIM alignment across millions of emails daily.
Without this rule, bad actors could exploit capitalization variations to bypass DNS checks or spoof domains that look similar but aren't actually authorized. Normalization closes this loophole. It’s not about convenience—it’s about making the protocol robust.
It’s worth noting that this behavior isn’t unique to DKIM. The broader email ecosystem, including DNS and email parsing, treats domain names this way. The Internet Engineering Task Force (IETF), which maintains the RFCs, confirms that domain names are inherently case-insensitive in all internet protocols.
For senders using MailTester’s inbox placement tool, understanding this ensures your DKIM setup behaves as expected. If you’re validating a list of emails at scale, our bulk verification tool checks DKIM alignment with correct normalization, so you can catch issues before they hit the inbox.
RFC 6376 remains the definitive source. Any deviation from lowercase normalization violates the standard and introduces risk.
How Can You Test if Your DKIM Signing Is Case-Consistent?
Use a real-time email verification API like MailTester to test your DKIM signing. It checks whether the d= domain in your DKIM signature matches the DNS record after case normalization—confirming your signature passes even if your sending system uses inconsistent casing. This prevents silent DKIM failures that can harm deliverability.
Test Your DKIM Signature with Real-Time Verification
- Send a test email through MailTester’s API at https://mailtester.com/api-email-checker/. You’re not verifying an address—you're simulating inbox delivery with full header inspection, including DKIM.
- Check the result’s DKIM validation section. The API returns detailed output showing the d= domain from the signature and how it was normalized to lowercase before lookup.
- Compare the normalized domain with your DNS record. The API checks the TXT record at the actual domain (e.g., example.com), not a case-sensitive version. If the domain in your DKIM signature doesn’t match after lowercase conversion, the signature fails—even if the original domain was correct in your sending system.
- Look for mismatch warnings. MailTester flags cases where the signing domain was sent with mixed or uppercase letters but the DNS record doesn’t align after normalization. These mismatches signal a configuration flaw.
- Fix the signing process. If the system that signs DKIM outputs a domain in mixed case (e.g., “Example.com”), normalize it to lowercase before inclusion. The receiving server will always treat it as lowercase, per RFC 6376.
DKIM verification is case-insensitive by design. The RFC explicitly states that domain names in DKIM are normalized to lowercase during validation [RFC 6376, Section 3.6]. This means no matter how your sender system formats the d= domain, the receiver will convert it to lowercase and query DNS accordingly.
Why This Matters for Deliverability
Even a single mismatch can trigger a DKIM failure. Receiving systems reject messages with invalid signatures—commonly marking them as spam or outright blocking them. Since DKIM is a core part of authentication (along with SPF and DMARC), a single misaligned signature undermines your sender reputation.
Tools like MailTester don’t just flag invalid addresses—they test the full validation chain. You’re not guessing whether your signature works; you’re seeing what the receiving server actually sees, including how it handles case. This is especially important in automated systems where logs might hide case discrepancies.
Let’s be clear: case inconsistency in DKIM signing is a silent deliverability killer. It’s not a problem in the DNS record—it’s in how your email system constructs the signature. Use real-time verification to catch it before it hits inboxes.
What Does MailTester’s Email Verification Reveal About DKIM Issues?
MailTester simulates actual email delivery, checking whether the d= domain in a DKIM signature is normalized to lowercase during verification—exactly as standard email systems do. It flags cases where the domain’s case differs from its DNS record, catching mismatches that cause authentication failure. This lets you fix configuration errors before they harm sender reputation or trigger outright rejection.
How MailTester Detects DKIM Signature Case Issues
- MailTester performs a full delivery simulation, including real-time checks against the receiving server’s behavior during DKIM validation.
- It detects when a DKIM
d=domain is in uppercase or mixed case, which is invalid—mail servers always normalize this to lowercase during verification. - The tool confirms whether the public key record exists under the lowercase version of the domain in DNS, which is required for DKIM to pass.
- If the DNS record is missing or misconfigured, MailTester reports the exact failure reason, not just "DKIM failed."
- It surfaces issues with domain case mismatches that are commonly overlooked in email setups, even when everything else appears correct.
- With 98.9% accuracy, it identifies cases where incorrect case handling causes DKIM validation to fail—before your message is rejected by recipient providers.
Why This Matters for Deliverability
DKIM relies on strict case normalization—every implementation follows the same rule defined in RFC 6376 and RFC 5322. Deviating from this behavior, even by a single uppercase letter, breaks authentication. MailTester doesn’t just check if the key exists; it checks if it exists under the correct (lowercase) domain name.
According to industry standards, email receivers like Gmail and Microsoft use lowercase normalization for all DKIM verification. If your domain is listed as DOMAIN.COM in the DKIM signature but the DNS record is domain.com, the check fails. MailTester finds these mismatches early, helping you maintain a strong sender reputation.
Use MailTester’s single-email checker to validate individual addresses, or the bulk verification tool to audit entire lists for DKIM-ready domains. The inbox placement tester goes further, simulating delivery to major providers, revealing how DKIM issues affect real inbox placement.
Properly Configuring DKIM: A Step-by-Step Guide
When email receivers verify DKIM signatures, they normalize the d= domain to lowercase before checking the DNS record. If your DKIM public key is published under a non-lowercase domain (e.g., selector._domainkey.Example.com), the signature will fail—even if the key is technically correct. Always use lowercase in your DNS TXT record and in the d= tag of your DKIM signature.
Step-by-Step Configuration
- Publish your DKIM public key under the lowercase domain. In your DNS zone, create a TXT record for
selector._domainkey.example.com, whereexample.comis fully lowercase. This matches the normalized form receivers expect. - Set the
d=tag with the same lowercase domain. When your mail server generates the DKIM signature, ensure thed=tag uses the exact lowercase domain (e.g.,d=example.com). Capitalization is ignored during verification, but inconsistency breaks alignment. - Never assume capitalization matters. Even if your domain appears with capital letters in your email client or branding, the DKIM standard requires lowercase. The DKIM RFC 6376 explicitly states that domain names in signatures are case-insensitive and must be compared in lowercase.
- Validate your signature using a tool that respects normalization rules. Use a service like MailTester’s inbox placement test to verify that your DKIM signature passes validation under real-world conditions, including correct case handling.
Why This Matters
Even small mismatches—like a capital in your DNS record or a typo in the d= tag—cause failure during signature verification. Receiving servers perform strict normalization and will reject non-matching records. This leads to failed authentication, lower sender reputation, and increased risk of your messages being marked as spam.
Tools like MailTester simulate real mailbox behavior and check for these subtle issues. They apply the RFC 6376 normalization rules exactly as email gateways do, giving you confidence your DKIM setup works in production.
Why You Shouldn’t Rely on Email Providers to “Fix” Case Issues
Mail providers normalize the d= domain in DKIM signatures to lowercase before verifying them, so any uppercase or mixed-case usage isn’t a failure on their end. The standard requires strict lowercase for the d= tag, and sending otherwise is invalid—even if the provider accepts it, your signature may still fail elsewhere. Don’t assume the system will fix your casing errors; they won’t.
DKIM Requires Lowercase, Always
The DKIM specification, defined in RFC 6376, mandates that the d= domain in the signature must be in lowercase. Even if a provider silently accepts uppercase during validation, that’s a workaround—it doesn’t make your header compliant. Other receivers may not be as lenient. This inconsistency can cause rejection at scale, especially with automated filtering systems.
It’s not just policy—it’s engineering. Case variation in DNS domains doesn’t exist at the protocol level. All major email providers, from Gmail to Outlook to Yahoo, internally normalize the d= tag to lowercase. That includes every major receiving server. If you’re not doing it yourself, you're relying on a behavior that doesn't scale across every inbox.
Even “Accepted” Signatures Can Break
You might think, “Well, it works on Gmail,” but that’s not enough. If your email passes validation on one provider but fails when delivered to another system—say, a corporate email gateway or a DMARC enforcement tool—the inconsistency causes confusion and can harm your sender reputation.
Even if a receiving server tolerates mixed-case domains today, it may not in the future. Email infrastructure evolves. Standards are enforced more strictly over time. A signature that works now may fail next month due to tighter validation rules. Relying on leniency is not a strategy.
For a deeper look at how DKIM verification works in practice, the RFC 6376 specification provides the technical foundation. The industry-standard practice is clear: always use lowercase in the d= tag.
Let’s be practical. If you’re sending bulk emails, you don’t have time to troubleshoot inconsistent delivery due to poor DKIM formatting. Prevent it early. Use a real-time verification tool to catch issues before they go live. The MailTester email checker validates your recipients’ addresses and signs them against real-world delivery rules—including DKIM consistency checks—to catch problems before you send.
Conclusion: Case-Insensitive DKIM Is Non-Negotiable for Reliable Deliverability
DKIM domain normalization to lowercase is not optional—it is required by the standard and applied by every major email receiver. Ignoring this rule breaks signature validation, leading to failed authentication and failed deliveries.
If your d= domain or DNS record uses uppercase letters, the verification process will fail regardless of other correct configurations. This applies to all receivers, including Gmail, Outlook, and enterprise systems. Consistency between the d= tag and the DNS record is non-negotiable.
Use MailTester’s real-time verification and inbox-placement tests to catch DKIM configuration mismatches before sending. These tools validate the full delivery chain, including DNS-level checks, to ensure your emails pass authentication and land in the inbox.
Sources
- DMARC adoption among top domains surged 75% between 2023 and 2025 — from 27.2% to 47.7% — in the wake of Google and Yahoo's bulk-sender authentication requirements. — EasyDMARC 2025 DMARC Adoption Report (2025)
- Since May 5, 2025, Microsoft Outlook requires SPF, DKIM, and DMARC from domains sending 5,000+ emails per day, rejecting non-compliant mail outright at the SMTP level with error 550 5.7.515. — Microsoft Outlook requirements (via MailOver bulk-sender requirements guide) (2025)
Keep reading
- Email authentication: SPF, DKIM, DMARC, BIMI and MTA-STS (complete guide)
- Email Deliverability Service Detecting IDN Punycode Mismatches in DKIM d= Tags
- Best Practices for Handling IDN Domains in DKIM d= Tags with Unicode Expectations
- SPF Validation Fails Due to UTF-8 Domain Labels in DNS (2026)
- SPF Record DNS Lookup Shows No v=spf1 Despite TXT Entry
Ready to put this into practice? MailTester verifies emails with 98.9% accuracy — start with 100 free verifications.
Frequently asked questions
Does DKIM require the d= domain to be lowercase?
Yes. The DKIM standard specifies that domain names must be normalized to lowercase during verification. The sender must ensure the d= tag uses lowercase, and the DNS record must be published under the lowercase domain.
Can uppercase letters in DKIM d= tags cause deliverability issues?
Yes. Even though receivers normalize to lowercase, inconsistent casing indicates poor configuration. This increases the risk of misalignment, especially if the DNS record is not published under the correct case.
How do email providers handle DKIM domain case variations?
All major providers—including Gmail, Outlook, and Yahoo—normalize the domain in the d= tag to lowercase before validation, per RFC 6376.
Is case sensitivity an issue for SPF or DMARC?
No. SPF and DMARC use domain names in a case-insensitive way, and DNS records are not affected by case variations during lookup.
Can I test DKIM signature validity with MailTester?
Yes. MailTester’s real-time verification API includes full DKIM validation, checking for proper formatting, domain normalization, and DNS record presence.
How accurate is MailTester’s email verification?
MailTester achieves 98.9% accuracy across bulk and real-time verification, with consistent detection of DKIM, SPF, and DMARC alignment issues.
What’s the best way to find DKIM misconfigurations?
Use MailTester’s inbox-placement testing and real-time API to validate the d= domain casing and DNS record alignment before sending emails.
Do I need to change my DNS entry if my DKIM d= tag uses uppercase?
Yes. Move the public key to the lowercase version of the domain (e.g., example.com) to ensure it’s reachable after normalization.
Can I use MailTester to test DKIM on a list of email addresses?
Yes. MailTester supports bulk list verification, including DKIM validation, to help you find and fix delivery issues across your address list.
Do purchased MailTester credits expire?
No. Any credits you purchase never expire, giving you flexible, long-term access for ongoing list hygiene and deliverability testing.
Is DKIM case normalization a common reason for email bounces?
It’s not a direct bounce reason, but signature failure due to case mismatch can lead to rejection by strict receivers or reputation degradation.
How does MailTester detect lowercase normalization issues?
It simulates inbox receipt and validates the DKIM signature against the normalized domain, comparing it to the DNS record in real time.