BIMI Explained: Brand Indicators for Message Identification, SVG Tiny PS, VMC, and DMARC Requirements

Everything a domain owner needs to publish, validate, and maintain a BIMI record — from the DNS TXT format to SVG Tiny PS logo requirements and the Verified Mark Certificate process — with worked examples and mailbox-provider compatibility for Gmail, Apple Mail, Yahoo, and Microsoft 365.

This reference is provided in English. BIMI is specified in English-language IETF drafts and BIMI Group profile documents; the canonical syntax (v=BIMI1, default._bimi, baseProfile="tiny-ps") does not translate. We keep the body in the source language so technical terms remain consistent with the specifications.

TL;DR

  • BIMI (Brand Indicators for Message Identification) is the spec that puts your brand logo next to authenticated messages in the inbox. Defined in IETF draft-brand-indicators-for-message-identification plus the BIMI Group profile documents.
  • BIMI is published as a DNS TXT record at default._bimi.<domain> with tags v=BIMI1; l=<svg-url>; a=<vmc-url>.
  • DMARC is a hard prerequisite: the publishing domain must enforce p=quarantine or p=reject with pct=100. p=none is not eligible.
  • The logo must be SVG Tiny PS (baseProfile="tiny-ps") — a strict sub-profile that forbids scripts, raster embeds, animation, and external references — square, under 32KB, with a solid background.
  • Major mailbox providers (Gmail, Apple Mail, Yahoo, AOL, Fastmail) require a VMC (Verified Mark Certificate) issued by DigiCert or Entrust before displaying the logo.
  • BIMI is a trust signal, not an authentication primitive. It rides on top of SPF + DKIM + DMARC; it does not authenticate the message itself.

1. What is BIMI?

BIMI (Brand Indicators for Message Identification) is an email standard that lets a domain owner publish a brand logo for receiving mailbox providers to display alongside authenticated messages in the inbox. BIMI is specified in IETF draft-brand-indicators-for-message-identification (still an Internet Draft, not yet a published RFC) and the de-facto industry profile documents from the Authindicators Working Group (BIMI Group). A BIMI record is a DNS TXT record at default._bimi.<domain> declaring the URL of an SVG Tiny PS logo and (optionally, but in practice required) the URL of a Verified Mark Certificate (VMC).

BIMI complements the existing email-authentication primitives — SPF (envelope-sender IP authorisation), DKIM (message cryptographic signature), and DMARC (policy + alignment + reporting). Where SPF / DKIM / DMARC authenticate the message, BIMI takes the authenticated result and renders it visible to the recipient as a brand logo in the inbox interface. The intent is two sided: it gives legitimate senders a visible trust signal end users can recognise, and it gives end users a heuristic for spotting unauthenticated impersonation (no logo where one is expected → likely phishing).

Critically, BIMI is not an authentication mechanism. It does not sign mail, does not authorise senders, does not produce a pass / fail verdict by itself. It rides on top of an already-passing DMARC verdict; a domain that fails DMARC alignment on a given send will not get a BIMI logo rendered for that send regardless of what its BIMI record contains.

2. How BIMI works, step by step

  1. The domain owner enforces DMARC at p=quarantine or p=reject with pct=100. (This is a hard precondition — BIMI is ineligible at p=none.)
  2. The owner prepares an SVG Tiny PS logo file (square, < 32KB, solid background, baseProfile="tiny-ps") and publishes it at an HTTPS URL.
  3. The owner obtains a Verified Mark Certificate (VMC) from DigiCert or Entrust after proving trademark ownership in an accepted registry (USPTO, EUIPO, UKIPO, JPO, IPA, or CIPO). The VMC is a PEM-encoded certificate chain that the owner publishes at an HTTPS URL.
  4. The owner publishes a BIMI DNS TXT record at default._bimi.<domain> declaring the SVG URL (l=) and VMC URL (a=).
  5. When the receiving mailbox provider accepts a message and the message passes DMARC alignment, the receiver queries default._bimi.<rfc5322.from-domain> for the BIMI record, fetches the SVG from l=, fetches the VMC from a=, validates the certificate chain and the SVG hash binding, and renders the logo next to the message in the inbox.
  6. If any step fails — DMARC not enforcing, SVG not Tiny-PS-compliant, VMC expired, URL not HTTPS, certificate not chained to an approved root — the mailbox provider silently falls back to its default (often a generated initials avatar). There is no error surface to the sender; debugging requires fetching the same artefacts the receiver fetches.

3. BIMI DNS syntax

A BIMI record is a DNS TXT record published at <selector>._bimi.<domain>. The default selector is default; per-stream selectors are possible (e.g. marketing._bimi) and declared in the BIMI-Selector: header of the signed message.

default._bimi.example.com.  IN  TXT  "v=BIMI1; l=https://example.com/bimi/logo.svg; a=https://example.com/bimi/vmc.pem"

Tag-by-tag anatomy of the BIMI record:

v=BIMI1
Version tag. MUST appear first; receivers that find a missing or invalid v= reject the record. BIMI1 is the only defined version at the time of writing.
l=<https-svg-url>
Location of the SVG Tiny PS logo. MUST be an absolute HTTPS URL (HTTP is rejected). The host SHOULD serve the SVG with Content-Type: image/svg+xml and cacheable headers. An empty l= tells receivers the domain has explicitly opted out of BIMI for that selector — used to suppress logos on a specific selector without removing the record entirely.
a=<https-vmc-url>
Location of the Verified Mark Certificate (PEM format). MUST be an absolute HTTPS URL. The certificate cryptographically binds the SVG hash to the verified trademark. Without a=, major mailbox providers (Gmail, Apple, Yahoo, AOL) will not display the logo. Earlier in BIMI's rollout, a= was optional; the operational reality at major providers is now that it is required.

The selector name in the DNS query is determined by the sending message. If the message carries no BIMI-Selector: header, the receiver queries default._bimi.<domain>. If the message carries BIMI-Selector: v=BIMI1; s=newsletter, the receiver queries newsletter._bimi.<domain> — letting the domain publish different logos for transactional versus marketing versus newsletter streams.

4. SVG Tiny PS logo requirements

BIMI logos use a strict SVG profile called SVG Tiny 1.2 Portable/Secure (SVG Tiny PS), defined in the BIMI Group SVG profile specification. The profile strips everything that could be a security, privacy, or rendering risk inside a mailbox UI.

Required attributes on the root <svg>:

Attribute Required value Why
version "1.2" Pins to SVG Tiny 1.2 base.
baseProfile "tiny-ps" Selects the Portable/Secure sub-profile. Validators reject the file without this attribute.
xmlns "http://www.w3.org/2000/svg" Standard SVG namespace.
viewBox square (1:1 aspect) Inbox UIs render the logo in a square avatar slot; non-square viewBox is rejected.

Forbidden in SVG Tiny PS (rejected by validators):

  • <script> — no scripting under any circumstance.
  • <a> hyperlinks, interactivity events (onclick, onload, etc.).
  • External references — no <image href="...">, no xlink:href to external resources, no @font-face.
  • Raster image embedding (PNG / JPEG via <image>).
  • <animate>, <animateMotion>, <animateTransform>, SMIL.
  • Most filters and masks (only a narrow allow-list survives).
  • Foreign objects (<foreignObject>).

File-format requirements:

  • Square aspect ratio: rectangular logos are cropped or rejected.
  • File size < 32KB: the Authindicators Working Group profile caps the file size to keep inbox rendering fast.
  • Solid (non-transparent) background: the logo must look correct against both light and dark inbox themes. Transparent backgrounds risk a broken-looking logo in dark mode.
  • No DOCTYPE / XML declarations except <?xml version="1.0" encoding="UTF-8"?> on the first line.
  • Title element: a <title> child of <svg> with the company name is REQUIRED for accessibility.

5. Verified Mark Certificate (VMC)

A Verified Mark Certificate (VMC) is an X.509 PKI certificate that cryptographically binds a registered trademark to the SVG logo and the publishing domain. VMCs are issued by DigiCert and Entrust, the two CAs currently approved by the BIMI Group consortium of mailbox providers.

Trademark registries accepted for VMC issuance:

  • USPTO — United States Patent and Trademark Office.
  • EUIPO — European Union Intellectual Property Office.
  • UKIPO — UK Intellectual Property Office.
  • JPO — Japan Patent Office.
  • IP Australia.
  • CIPO — Canadian Intellectual Property Office.
  • Plus a small set of recognised regional registries. Check the CA's current list at issuance time; registry coverage expands periodically.

The VMC issuance process typically requires 3-6 weeks: the CA validates the trademark registration, validates domain control, cryptographically hashes the supplied SVG into the certificate, and issues the PEM chain. Renewal is annual.

A CMC (Common Mark Certificate) is a lower-tier variant that does NOT require a registered trademark — it accepts unregistered "common law" marks used in commerce for at least 12 months. Gmail extended CMC support in 2024 for the BIMI checkmark feature (the blue verified-mark badge); the SVG-display path still requires a full VMC. Check current Google Workspace documentation for the latest position.

6. Mailbox-provider compatibility

Provider BIMI display VMC required Notes
Gmail / Google Workspace Yes (2021+) Yes Gated by DMARC enforcement, alignment pass, and brand reputation. Also adds a blue checkmark badge for verified senders.
Apple Mail (iOS 16+ / macOS Ventura+) Yes (2022+) Yes Renders in the message header alongside the sender's avatar.
Yahoo Mail / AOL Mail Yes (earliest production deployer, 2020+) Yes Originally the launch partner that drove BIMI Group's industry rollout.
Fastmail Yes Historically no (one of the few) Has accepted self-asserted logos in the past; check current Fastmail docs for the live policy.
Outlook.com / Microsoft 365 Announced 2023; gradual rollout Yes (when active) Check current Microsoft Learn email authentication docs for the live position.

BIMI display is a tenant-level decision at each provider. Even when the sending domain has a valid BIMI record + SVG + VMC, the receiving provider can override based on its own brand reputation, abuse history, or operational concerns. Logo display is best interpreted as opportunistic, not guaranteed.

7. BIMI examples

7.1 Minimal BIMI record (with VMC, production)

default._bimi.example.com.  IN  TXT  "v=BIMI1; l=https://bimi.example.com/logo.svg; a=https://bimi.example.com/vmc.pem"

The production-typical BIMI record. Both URLs are served over HTTPS from a dedicated subdomain (bimi.example.com) so the BIMI assets can have their own caching / availability profile, separate from the main site.

7.2 BIMI record without VMC (Fastmail-style, non-production)

default._bimi.example.com.  IN  TXT  "v=BIMI1; l=https://bimi.example.com/logo.svg"

A record without a= will validate on receivers that do not require a VMC, but will be ignored by Gmail / Apple / Yahoo / AOL. Useful only during early-stage testing or for receivers known to accept unsigned logos.

7.3 Per-stream selectors

default._bimi.example.com.      IN  TXT  "v=BIMI1; l=https://example.com/logo.svg; a=https://example.com/vmc.pem"
marketing._bimi.example.com.    IN  TXT  "v=BIMI1; l=https://example.com/logo-marketing.svg; a=https://example.com/vmc.pem"

The marketing send sets a BIMI-Selector: v=BIMI1; s=marketing header to direct receivers to the marketing record. Use cases: seasonal logos, sub-brand differentiation, A/B testing new logos before promoting them to default.

7.4 Explicit BIMI opt-out

default._bimi.example.com.  IN  TXT  "v=BIMI1; l="

An empty l= tells receivers the domain has explicitly opted out of BIMI for this selector. Useful if a brand temporarily wants to suppress logo display (during a logo refresh, brand-incident window, etc.) without dropping the DNS record entirely.

7.5 Minimal SVG Tiny PS logo skeleton

<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg"
     version="1.2"
     baseProfile="tiny-ps"
     viewBox="0 0 64 64">
  <title>Example Company</title>
  <rect width="64" height="64" fill="#0a3160"/>
  <path d="M8 32 L32 8 L56 32 L32 56 Z" fill="#ffffff"/>
</svg>

A minimal compliant SVG: explicit XML declaration, square 64×64 viewBox, baseProfile="tiny-ps", accessibility <title>, solid background fill, no scripts / no external references / no animation.

8. BIMI best practices

  • Enforce DMARC at p=quarantine or p=reject with pct=100 before publishing BIMI. A BIMI record at p=none is ignored by every major receiver and looks like deployment cargo-cult.
  • Validate your SVG against SVG Tiny PS before going live. BIMI Group's converter is the reference toolchain — strip unsupported elements rather than hope they'll be ignored.
  • Host both SVG and VMC on HTTPS — plain HTTP fails validation. A dedicated subdomain (bimi.example.com) is the typical pattern.
  • Get a VMC from DigiCert or Entrust. Start the trademark-verification process early; plan for 3-6 weeks from order to working certificate. The trademark itself must be registered first, which adds 6-24 months in most jurisdictions.
  • Match the SVG hash in the VMC exactly. If you change the SVG content (even a single byte of optimization), the VMC stops binding to it and validation fails. Re-issue the VMC alongside any SVG update.
  • Use the default selector unless you have a real per-stream-logo use case. Per-stream selectors are a maintenance burden; most senders never need them.
  • Monitor DMARC aggregate reports before and after BIMI launch — a regression that drops your DMARC pass rate will silently kill logo display long before any user complaint surfaces.
  • Set HTTP caching headers on the SVG + VMC endpoints: Cache-Control: public, max-age=86400 is a sensible floor. Receivers cache aggressively; a transient 503 on the SVG endpoint can disable BIMI for the receiver's cache TTL window.
  • Renew the VMC before expiry. VMCs are valid for ~1 year; an expired certificate silently kills logo display. Calendar the renewal at VMC_expiry - 30 days.
  • Keep the SVG file size well under 32KB. Optimise with SVGO configured for the Tiny PS profile; 4-8KB is a realistic target for a brand mark.

9. Common BIMI mistakes

  • Publishing BIMI before DMARC enforces. At p=none, every major receiver silently ignores the record. The fix is sequential: DMARC migration first, BIMI second.
  • Using a regular SVG (not Tiny PS). SVG files exported from Illustrator / Figma / Sketch contain elements forbidden by SVG Tiny PS — gradients with extra attributes, masks, embedded fonts, metadata blocks. Run the file through BIMI Group's converter rather than ship as-exported.
  • Skipping the VMC. Major mailbox providers (Gmail, Apple, Yahoo, AOL) refuse to render BIMI logos without a VMC. The DNS record will look fine in validators but no logo will ever appear in production.
  • Serving SVG / VMC over plain HTTP. Both URLs MUST be HTTPS. A redirect from HTTP to HTTPS is not enough — the BIMI record itself must declare HTTPS URLs.
  • Updating the SVG without re-issuing the VMC. The VMC binds the certificate to the exact SVG bytes; any change in the SVG invalidates the binding. Plan SVG updates as joint SVG + VMC re-issuance.
  • Non-square viewBox. Rectangular logos are cropped or rejected; the BIMI Group profile requires 1:1 aspect ratio.
  • Transparent background. The logo must look correct against both light and dark inbox themes; a transparent background risks invisible-logo failures in dark mode. Use a solid fill on the root <rect> or in the first path.
  • Forgetting the <title> element. The BIMI Tiny PS profile REQUIRES a <title> child of <svg> containing the company name — both for accessibility and as a validator check.
  • Treating BIMI as authentication. BIMI is a brand-display layer on top of an already-authenticated message. It does not substitute for SPF / DKIM / DMARC; a BIMI logo on a non-DMARC-aligned message is impossible by design.

10. BIMI troubleshooting

Logo does not appear in Gmail / Apple Mail / Yahoo
Confirm DMARC is at p=quarantine or p=reject with pct=100 (BIMI ineligible at p=none). Confirm the specific message passed DMARC alignment via the message's Authentication-Results: header. Validate the SVG + VMC at BIMI Group's tools.
BIMI validator passes but Gmail still shows no logo
Gmail layers brand-reputation gating on top of BIMI's technical validation. Low-reputation domains may pass BIMI's protocol checks yet still not get the logo rendered. Check sender reputation via Google Postmaster Tools; unresolved spam complaints or recent bounces suppress the logo until reputation recovers.
SVG validation fails — "scripts not allowed"
The SVG contains a <script> element or an event-handler attribute (onload, onclick, etc.). These are categorically forbidden by SVG Tiny PS. Re-export through the BIMI converter or strip them manually.
SVG validation fails — "raster image embedded"
The SVG contains an <image> element referencing a PNG / JPEG. SVG Tiny PS forbids raster embedding. Recreate the logo as pure vector paths.
VMC validation fails — "SVG hash mismatch"
The SVG that the receiver fetched does not byte- match the SVG that was hashed into the VMC at issuance time. Most common cause: the SVG was re-optimised after the VMC was issued. Re-issue the VMC against the current SVG bytes.
VMC validation fails — "certificate expired"
The VMC's notAfter date has passed. VMCs are valid for ~1 year; arrange renewal with the CA. After renewal, replace the PEM at the a= URL.
DNS lookup returns SERVFAIL on default._bimi.<domain>
The authoritative DNS for the _bimi sub-zone is not responding. Confirm the TXT record is published and the authoritative servers for the domain are reachable. Verify with dig +short txt default._bimi.<domain>.

11. Frequently Asked Questions

What is BIMI?
BIMI (Brand Indicators for Message Identification) is an email specification that lets a domain publish a brand logo for receiving mailbox providers to display alongside authenticated messages in the inbox. BIMI is defined in the IETF Internet Draft draft-brand-indicators-for-message-identification and the BIMI Group profile documents. A BIMI record is a DNS TXT record at default._bimi.<domain> declaring the URL of an SVG Tiny PS logo and (optionally) the URL of a Verified Mark Certificate.
Does BIMI require DMARC?
Yes. BIMI requires the publishing domain to enforce DMARC at policy quarantine or reject — p=none is insufficient. The pct= tag must be 100. The intent is that the inbox logo signals an authenticated, brand-protected message, which only holds if DMARC is actually enforcing. Most mailbox providers (Gmail, Apple Mail, Yahoo) also require the message to pass DMARC alignment before BIMI logo display.
What does a BIMI DNS record look like?
A BIMI DNS record is a TXT record at default._bimi.<domain> containing tag=value pairs separated by semicolons. A typical record is: default._bimi.example.com. IN TXT "v=BIMI1; l=https://example.com/logo.svg; a=https://example.com/vmc.pem" — declaring the BIMI version, the public URL of the SVG Tiny PS logo, and the URL of the Verified Mark Certificate.
What is SVG Tiny PS?
SVG Tiny PS (Portable/Secure) is a strict subset of SVG Tiny 1.2 defined for BIMI. It forbids scripts, animation, external references, raster image embedding, interactivity, and most filters. The root <svg> element must declare baseProfile="tiny-ps" and version="1.2". The image must be square (1:1 aspect ratio), under 32KB, and use a solid (non-transparent) background. The strict profile is what makes the logo safe to render inline in the inbox without security or performance risk.
What is a VMC and do I need one?
A VMC (Verified Mark Certificate) is an X.509 PKI certificate that cryptographically binds a registered trademark to the SVG logo and the publishing domain. VMCs are issued by approved Certificate Authorities — DigiCert and Entrust are the current production issuers — after the customer proves trademark ownership in one of the accepted jurisdictions (USPTO, EUIPO, UKIPO, JPO, IPA, CIPO). Gmail, Apple Mail, and Yahoo require a VMC before they will display the BIMI logo. Some providers (Fastmail historically) display the logo without a VMC, but the major-provider consensus has converged on requiring one.
Which mailbox providers support BIMI?
Gmail (Google Workspace + consumer), Apple Mail (iOS 16+ / macOS Ventura+), Yahoo Mail, AOL Mail, and Fastmail all display BIMI logos for authenticated mail. Outlook.com / Microsoft 365 announced BIMI support in 2023 but rollout has been gradual; check current Microsoft Learn documentation for the latest state. Provider support is enabled only when DMARC is enforcing and the BIMI record + SVG + VMC all validate.
Why is my BIMI logo not showing in the inbox?
The most common causes are: DMARC is at p=none (must be quarantine or reject), the message failed DMARC alignment for this specific send, the SVG is not strictly Tiny PS compliant (scripts, gradients-with-stops outside the profile, raster embeds, viewBox missing), the SVG is over 32KB, the VMC is missing or expired, or the logo URL is not served over HTTPS. A few mailbox providers also have brand reputation requirements layered on top of the technical validation.

13. Audit your BIMI setup now

DMARC Analyzer's free Domain Security Checker performs live BIMI record lookups, validates the published v=BIMI1 syntax, confirms the SVG and VMC URLs are reachable over HTTPS, and surfaces missing or expired VMC certificates. It also cross-checks the DMARC policy (p=quarantine or p=reject is required for BIMI eligibility) so you can spot the most common deployment-blocker before going live.

Check my BIMI record Sign up — Free plan