Debug Your DKIM Implementation

Building a custom Mail Transfer Agent (MTA) or script? The #1 reason custom DKIM signatures fail is improper canonicalization before hashing. Paste your raw email components here to preview the canonicalized payload and generate the expected Body Hash (`bh=`).

Computation Complete
SHA-256
Expected Body Hash (bh=)
...
Canonicalized Body Payload (Before Hashing)

This is the exact string passed to the SHA-256 algorithm after canonicalization rules were applied.

...
Canonicalized Headers Payload

This is how the headers look right before being signed with the RSA private key.

...
Processing Logs