What BIMI does
BIMI shows your logo next to messages in Gmail, Yahoo and Apple Mail. It needs a TXT record at default._bimi.domain with an HTTPS SVG Tiny PS logo (l=) and, for Gmail and Apple Mail, a mark certificate (a=): a Verified Mark Certificate, or a Common Mark Certificate where accepted. DMARC must be at p=quarantine or p=reject with pct=100, and the subdomain policy (sp=) must not be none.
BIMI checker: questions
What does BIMI need besides a logo?+
An enforced DMARC policy and a BIMI record. DMARC must be at p=quarantine or p=reject with pct=100, and sp= must not be none; a TXT record at default._bimi.example.com points to the logo with l=. The logo must be an SVG Tiny PS file served over HTTPS, and Gmail and Apple Mail also need a mark certificate in a=.
Why is my BIMI logo not showing?+
Most often because DMARC is not fully enforced: p=none, a pct below 100 or sp=none each prevent it. Other causes are a logo that is not an SVG Tiny PS file over HTTPS, a missing certificate for Gmail or Apple Mail, or a mailbox provider that does not support BIMI. The checker tests the record, logo URL and DMARC prerequisites, not the SVG or certificate files.
Do I need a VMC for BIMI?+
For Gmail and Apple Mail you need a mark certificate: they show the logo only when the record's a= tag points to one. A Verified Mark Certificate (VMC) requires the logo to be a registered trademark; a Common Mark Certificate (CMC) does not, but fewer mailbox providers accept it. Without a certificate the record is still valid, but those two providers show no logo.
What format does a BIMI logo need?+
SVG in the SVG Tiny Portable/Secure (SVG Tiny PS) profile, served over HTTPS at the URL in the record's l= tag. The profile forbids scripts and external references, and the logo should be square because mailbox providers show it in a round or square frame. An SVG exported from a design tool usually has to be converted to the profile first.
Where do I publish a BIMI record?+
As a TXT record at default._bimi.example.com, for example v=BIMI1; l=https://example.com/brand/logo.svg; a=https://example.com/brand/vmc.pem. l= holds the logo URL and a= the certificate URL, both HTTPS. Leave a= empty if you have no certificate yet: providers that do not require one can still show the logo.