How to Create a BIMI Record (Free Generator + Real Setup Example)
If you've ever wondered why some emails show a brand logo next to the sender name in Gmail while others just show a generic avatar, the answer is BIMI — Brand Indicators for Message Identification. It's a DNS TXT record that tells mailbox providers where to find your verified brand logo. Setting it up by hand is fiddly: one malformed tag and the logo silently never shows up, with no error telling you why.
What BIMI actually requires
BIMI is not a single checkbox — it's a small stack of prerequisites that all have to be true at once:
-
DMARC enforcement. Your domain needs a DMARC record at
p=quarantineorp=reject(in practicepct=100). A monitoring-onlyp=nonepolicy — or no DMARC at all — blocks BIMI entirely, regardless of how correct the BIMI record itself is. -
A logo in SVG Tiny PS format. This is a deliberately restricted SVG profile: no JavaScript, no external references, no CSS, no embedded raster images, and it requires a
titleelement. A normal SVG exported from Figma or Illustrator will almost always fail validation and needs to be converted. - A Verified Mark Certificate (VMC) if you want the logo in Gmail. This is a paid, annual certificate from an authority like DigiCert or Entrust that proves trademark ownership of the exact logo. Without it, Gmail won't show your logo — some other providers have historically been more lenient, but that's shrinking.
-
The record itself, published at
default._bimi.yourdomain.comin the format:
v=BIMI1; l=https://yourdomain.com/logo.svg; a=https://yourdomain.com/vmc.pem
Quick setup example
Say your domain is example.com, DMARC is already enforcing, and you have a validated SVG Tiny PS logo hosted at a stable HTTPS URL.
- Host your logo at
https://example.com/bimi-logo.svg(must be served over HTTPS, publicly reachable, correct MIME type). - If you have a VMC, host it at
https://example.com/vmc.pem. - Build the TXT record:
v=BIMI1; l=https://example.com/bimi-logo.svg; a=https://example.com/vmc.pem
If you don't have a VMC yet, omit the a= tag entirely — don't leave it blank, just drop it — and add it later once the certificate is issued.
- Publish it as a TXT record on the host
default._bimi.example.com. - Wait for DNS propagation (usually a few hours), then check that providers pick it up on their own schedule — there's no fixed guaranteed timeline, and each provider validates independently.
Want a different logo for a specific subdomain or mail stream? Publish a second record under a custom selector, e.g. newsletter._bimi.example.com, and reference newsletter in the BIMI-Selector header on outgoing mail from that stream.
Where people get stuck
The most common failure mode isn't a malformed record — it's forgetting the DMARC prerequisite, or assuming a VMC isn't needed because "the record looks fine." Both fail silently: no bounce, no error, the logo just never appears. The second most common issue is trying to publish a plain SVG export straight from a design tool without converting it to the SVG Tiny PS profile first.
Try it free
I built a free BIMI Record Generator that builds the TXT record for you, checks your DMARC enforcement status, validates your logo and VMC URLs, and can parse an existing BIMI record to tell you exactly what's wrong with it. Runs entirely in your browser — no signup, nothing uploaded anywhere.
Getting BIMI right is mostly about prerequisites, not syntax — DMARC enforcement and (for Gmail) a VMC matter more than the record format itself. Get those two right first, and the TXT record is the easy part.
Top comments (0)