Free private diagnostic tool
DMARC Report Analyzer
Turn a DMARC aggregate report into useful evidence. Understand which sending sources were observed, which messages aligned with DMARC, and what reporting receivers say they did. No report upload or account required.
Analyze your DMARC reports
How to read a DMARC aggregate report
Reports contain message counts grouped by connecting IP address and by the receiver's results. A DMARC-aligned row is one where the reporting receiver says aligned SPF or aligned DKIM passed. Raw SPF or DKIM checks can pass for unrelated domains without producing a DMARC pass.
What do none, quarantine and reject mean?
These are reported actions or dispositions selected by the receiving system. none does not guarantee delivery to an inbox, and a reported reject does not establish that every copy of a message was blocked across every destination. Provider overrides, forwarding and policies can affect outcomes.
Why can totals be misleading?
A single report covers one receiving organization and reporting period. Reports from several receivers, or overlapping periods, are not necessarily a unique-message census. Repeat report identities are excluded from the summary to reduce accidental duplication, but this is not proof that reports describe disjoint messages.
Technical standards and limitations
The analyzer understands legacy aggregate reports based on RFC 7489 and the newer RFC 9990 aggregate reporting format, alongside RFC 9989 DMARC behavior. These XML files are treated as unverified claims from supplied input. The analyzer does not authenticate the report sender, determine which IPs you control, fetch DNS records, or guarantee inbox placement.
To protect browsers against malformed and oversized files, compressed input is bounded; encrypted ZIPs, unsupported compression, DTDs and external XML entities are rejected. Files are never extracted onto disk by the tool.