Email authentication

BIMI checker

Read a domain’s BIMI record, check the SVG logo against Tiny PS, and whether DMARC lets it count.

Free, no accountLive check

Try

Result

The verdict and the record appear here once you press Check BIMI record.

What this is

This BIMI checker reads the TXT record at the default selector, fetches the SVG the record points at and checks it against the SVG Tiny Portable/Secure profile, then checks the DMARC policy behind it - because a logo whose domain is still at "p=none" is ignored no matter how good the file is.

BIMI publishes two things in DNS: where a brand's logo lives, as an HTTPS URL in the "l=" tag, and optionally where the certificate attesting the brand owns that logo lives, in the "a=" tag. Both sit in one TXT record at "default._bimi." plus the domain, written in the same tag-value syntax a DKIM key record uses.

The logo cannot be any SVG. It has to be an SVG Tiny Portable/Secure document: one <svg> root in the SVG namespace, carrying version="1.2" and baseProfile="tiny-ps", with a non-empty <title> and nothing scripted, animated, linked or externally referenced anywhere inside it.

Both documents behind all of this are Internet-Drafts rather than RFCs - draft-brand-indicators-for-message-identification-14 and draft-svg-tiny-ps-abrotman-12, both dated 1 May 2026 - so the rules quoted on this page are a draft's rules, and the two mailbox providers that publish their own requirement are quoted as themselves.

How to read the result

Read the DMARC finding first. It is the gate: the BIMI draft says processing MUST NOT happen at all when the policy is "p=none" or the subdomain policy is "sp=none", so a perfect record and a perfect logo behind a monitoring-only policy still shows nobody a logo.

The file facts under the findings are the raw answer - the size uncompressed, every top-level element, the three root attributes, the dimensions and whether a non-empty title is there - so a failure about the profile can be checked against the file by hand rather than taken on trust.

The provider table is the part worth acting on: a record with no "a=" tag is not broken, it is self-asserted, and that is the difference between a logo at Yahoo and no logo at Gmail.

Common mistakes

What goes wrong most often, and how to tell.

  • Publishing the record before DMARC is at enforcementThis is the single most common reason a correct BIMI record shows nothing. The draft treats "p=none" as a hard stop, and BIMI Group makes quarantine or reject on the organizational domain and its subdomains step one of its implementation guide, before any logo exists.
  • Pointing "l=" at the logo already on the websiteA marketing PNG, or an SVG exported from a design tool with a script, a link or an embedded bitmap in it, fails the Tiny PS profile - and the BIMI draft makes a non-SVG suffix in the tag a permanent error rather than something a receiver works around.
  • Expecting a logo in Gmail without a certificateGoogle's own page says you need a VMC or CMC from a third-party certificate authority and that only PEM files are supported, so an "l="-only record is a Yahoo-and-AOL record. Yahoo says the opposite: it does not require a VMC today.
  • Sizing the SVG in percentagesGmail asks for absolute pixels with a minimum height and width of 96, and explicitly says not to use relative dimensions like width="100%". A file that scales perfectly in a browser can still be refused on that rule alone.

Questions

What people ask about this tool.

  • Check the DMARC policy before anything else: the BIMI draft stops processing when the policy is "p=none" or the subdomain policy is "sp=none". After that, Gmail needs a VMC or CMC in the "a=" tag, and Yahoo additionally wants bulk volume with sufficient reputation and engagement before it displays anything.
  • For Gmail, yes - its documentation says you need a VMC or CMC from a third-party certificate authority and that only PEM files are supported. For Yahoo, no: its sender page says it does not currently require VMCs, though it will use one to inform eligibility if the record includes it.
  • The BIMI draft and Google both say that where the policy is "p=quarantine" and a percentage tag is present, it must be "pct=100". RFC 9989, published in May 2026, lists "pct" as historic and replaces part of what it did with the "t" tag - so the two disagree, and the safe reading is not to add "pct" to a new DMARC record for BIMI's sake.
  • One <svg> root element with xmlns set to the SVG namespace, version="1.2" and baseProfile="tiny-ps", a <title> that is present and not empty, nothing from the scripting, animation, linking, interactivity or multimedia parts of SVG, no <image> or <switch>, and a file that should stay under 32 kilobytes uncompressed.
  • The BIMI draft permits SVGZ as well as SVG in the "l=" tag, but neither Google's nor Yahoo's documentation mentions SVGZ at all, so there is no published confirmation that either would render one. This checker reads the uncompressed file it is served.

Use it from the API

The same check, as one request.

Request
curl -X POST https://resellerhq.com/api/tools/bimi-checker \
  -H "Content-Type: application/json" \
  -d '{"domain":"yahoo-ready.example"}'
Response
{
  "tool": "bimi-checker",
  "input": {
    "domain": "yahoo-ready.example"
  },
  "result": {
    "verdict": {
      "tone": "warning",
      "headline": "BIMI for yahoo-ready.example looks ready",
      "summary": "The record, the logo file and the DMARC policy behind it all hold up to what the drafts and the two published provider requirements ask for."
    },
    "findings": [
      {
        "id": "no-vmc",
        "severity": "warn",
        "title": "No VMC or CMC: this is a self-asserted record",
        "detail": "With no \"a=\" tag, Gmail will not show the logo - its page says you need a VMC or CMC from a certificate authority and that only PEM files are supported. Yahoo says it does not require a VMC and will show a self-asserted SVG, subject to bulk volume and reputation. BIMI Group calls the certificate step \"highly recommended, but optional\" and notes self-asserted records have limited support across providers.",
        "fix": "If the logo has to appear in Gmail, get a VMC (or a CMC, if the logo is not trademarked) from a mark certificate issuer and publish the PEM URL in the \"a=\" tag."
      },
      {
        "id": "bimi-record-found",
        "severity": "pass",
        "title": "BIMI record found at the default selector",
        "detail": "default._bimi.yahoo-ready.example publishes \"v=BIMI1; l=https://cdn.yahoo-ready.example/logo.svg\". Draft-14 §7.2 step 2 says a message with no BIMI-Selector header uses the selector \"default\", which is the record read here."
      },
      {
        "id": "svg-within-tiny-ps",
        "severity": "pass",
        "title": "The logo file is within the Tiny PS profile",
        "detail": "One <svg> root in the SVG namespace, version=\"1.2\", baseProfile=\"tiny-ps\", nothing forbidden in it, and 287 bytes uncompressed."
      },
      {
        "id": "dmarc-at-enforcement",
        "severity": "pass",
        "title": "DMARC is at enforcement (p=reject)",
        "detail": "Draft-14 §7.1 step 7 says BIMI processing MUST NOT be performed when the policy is \"p=none\", and Yahoo lists \"a DMARC policy of quarantine or reject\" as one of its conditions for showing a logo. yahoo-ready.example publishes p=reject."
      }
    ],
    "parts": [
      {
        "kind": "record",
        "title": "BIMI record at default._bimi.yahoo-ready.example",
        "value": "v=BIMI1; l=https://cdn.yahoo-ready.example/logo.svg",
        "at": {
          "name": "default._bimi.yahoo-ready.example",
          "type": "TXT"
        }
      },
      {
        "kind": "facts",
        "title": "What the record says",
        "rows": [
          [
            "Version",
            "BIMI1"
          ],
          [
            "Logo (l=)",
            "https://cdn.yahoo-ready.example/logo.svg"
          ],
          [
            "Authority evidence (a=)",
            "tag not published"
          ],
          [
            "Avatar preference (avp=)",
            "brand"
          ]
        ]
      },
      {
        "kind": "facts",
        "title": "The logo file as served",
        "rows": [
          [
            "Size, uncompressed",
            "287 bytes"
          ],
          [
            "Top-level elements",
            "<svg>"
          ],
          [
            "xmlns",
            "http://www.w3.org/2000/svg"
          ],
          [
            "version",
            "1.2"
          ],
          [
            "baseProfile",
            "tiny-ps"
          ],
          [
            "width × height",
            "96 × 96"
          ],
          [
            "Non-empty <title>",
            "yes"
          ]
        ]
      },
      {
        "kind": "table",
        "title": "What each mailbox provider asks for",
        "columns": [
          "Mailbox provider",
          "VMC or CMC needed",
          "In their own words"
        ],
        "rows": [
          [
            "Gmail",
            "Yes",
            "“You need a VMC or CMC for your domain from a third-party certificate authority” and “Gmail and other email clients support BIMI only with PEM files.”"
          ],
          [
            "Yahoo and AOL",
            "No",
            "“We currently do not require VMCs to be set up for BIMI logos to appear in Yahoo applications” - but it also wants bulk volume, reputation and engagement."
          ]
        ],
        "proseColumns": [
          2
        ],
        "note": "These two are the only providers whose current requirement was read from their own documentation. Nothing here states what any other mail client does."
      }
    ],
    "lookups": [
      {
        "label": "TXT for default._bimi.yahoo-ready.example",
        "value": "Cloudflare: 1 record"
      },
      {
        "label": "GET",
        "value": "https://cdn.yahoo-ready.example/logo.svg"
      },
      {
        "label": "TXT for _dmarc.yahoo-ready.example",
        "value": "Cloudflare: 1 record"
      }
    ],
    "limits": [
      "This reads the SVG as a file; it cannot render the logo the way Gmail or Yahoo would, so whether it reads well cropped to a circle, has the two colours the SVG Tiny PS draft asks for when rendered, or sits centred in its square, is not something this can see.",
      "A VMC or CMC is not verified: nothing is fetched from the \"a=\" tag, so the certificate's signature chain back to a CA root, the trademark behind it and the logo embedded in it are all unchecked here.",
      "Only the \"default\" selector is read. A message carrying a BIMI-Selector header points at a different record (draft-14 §7.2 step 2), and the draft's fallback to the organizational domain is not followed either.",
      "BIMI is decided per message: draft-14 §7.1 step 4 needs that message to pass DMARC, which no DNS lookup can tell you. The policy check here is the standing part of the rule, not the whole of it.",
      "Gmail and Yahoo are the only mailbox providers whose current requirement was read from their own documentation. What Apple Mail, Outlook, Fastmail or anyone else does is not stated here, in either direction.",
      "The SVG is read as text rather than against the draft's RELAX NG grammar (§7 of draft-svg-tiny-ps-abrotman-12), so the animation and attribute restrictions inside permitted elements are not all checked.",
      "Both BIMI and SVG Tiny PS are Internet-Drafts dated 1 May 2026 and expire on 2 November 2026; the rules quoted here can change with the next revision."
    ]
  }
}

This example uses a name RFC 2606 reserves for documentation, ending in .example, .test, .invalid or .localhost. None of them is a real domain, and nobody can register one.

Resell mailbox licences for the domains you just checked, under your own brand.

Get started

Company names and logos are trademarks of their owners, shown only to identify each service.