Start a project

Tool 181 of 194 · Email

SPF, DKIM & DMARC Builder and Linter

Fix email authentication before it breaks delivery: count SPF lookups, check DMARC and DKIM, and see whether a message would pass.

SPF, DKIM & DMARC Builder and Linter

Your records

SPF

    RecordFromOwn lookupsTotalNote

    DMARC and DKIM

        Where each record goes

        Does a message pass DMARC?

          Relaxed alignment compares organisational domains, worked out with a short list of two-part suffixes such as co.uk and com.au; check unusual suffixes by hand.

          Build new records

          Who sends mail for you?

          New SPF record
          New DMARC record

          01

          What it does

          Counts SPF's DNS lookups through every include, lints SPF, DMARC and DKIM records against their RFCs, simulates DMARC alignment and builds new records.

          • SPF lookups counted through every include and redirect, against the limit of 10
          • Include records of 16 common senders read from DNS and dated, or paste your own
          • SPF syntax: two records, +all, ?all, ptr, terms after all, bad ip4 and ip6 ranges, long strings
          • DMARC tags checked (p, sp, np, pct, rua, ruf, adkim, aspf), with what each policy does

          02

          Private by design

          Everything happens in your browser. Nothing you type, paste or upload is sent anywhere, and it keeps working offline once the page has loaded.

          03

          What you get

          Lint for each record, an SPF lookup tree, an alignment verdict and new records to paste, with a Copy and a Download button on every result.

          • SPF
          • DKIM
          • DMARC
          • Email deliverability

          Why it matters

          Email authentication fails quietly. SPF allows only 10 DNS lookups while checking a message, and every include costs at least one, plus whatever that provider's record includes in turn. Add a help desk and a newsletter tool to Google Workspace and you can pass the limit without noticing, at which point SPF fails for all your mail. DMARC adds a second trap: a message can pass SPF and still fail DMARC, because the domain that passed isn't the one in the From line.

          This builder reads your records the way a receiving server does. It counts SPF lookups through the whole include tree, using the real records of 16 common senders read from DNS on the date shown, or records you paste. It lints SPF, DMARC and DKIM against their RFCs, reads the RSA key size straight from the DKIM key, and works out DMARC alignment for a sample message, so you can see why a newsletter sent through SendGrid passes only if it's DKIM-signed for your domain. The builder writes new records from the senders you tick.

          How to use it

          1. Paste your SPF, DMARC and DKIM records.
          2. Paste any included record the snapshot doesn't have.
          3. Read the lookup count and the notes for each record.
          4. Try a sample message in the alignment check, then build new records.

          FAQ

          Why does SPF have a 10-lookup limit?

          RFC 7208 caps DNS lookups so that checking one message can't flood DNS servers. Past 10, the result is a permanent error, which most receivers treat as a fail.

          Can a message pass SPF but fail DMARC?

          Yes. SPF checks the envelope sender (Return-Path), which is often your email provider's domain. DMARC needs that domain, or the DKIM signature's d= domain, to match your From domain.

          Should I start DMARC at p=reject?

          No. Start at p=none with rua reports, fix every legitimate sender, then move to quarantine and finally reject.

          Does this look up my DNS?

          No. It checks the records you paste, plus a dated snapshot of common providers' SPF records bundled with the page.

          Work with me

          Want a site that gets these right?

          I build fast, accessible websites and web apps that pass these checks from day one. Tell me about your project and I'll reply personally with honest next steps.

          All developer tools · Back to leej.uk