BIMI Checker
Check your BIMI record and logo, and whether your DMARC policy meets the prerequisites.
How to fix these
One section per finding above. There is nothing to copy here — these are changes in your own configuration, so each one names where the change is made, what it can break, and how to check it worked.
Convert the logo to SVG Tiny Portable/Secure
Mailbox providers render the BIMI logo inside a mail client, so the format is deliberately narrow and anything outside it is discarded rather than adapted. The practical effect is that everything else in the setup is already paid for and doing nothing: the DNS record is published, possibly a mark certificate has been bought, and no inbox is showing the logo. Nothing about your mail's deliverability is harmed by this — BIMI is display only — but none of the benefit is arriving either.
Who makes this change: You — this is a change on your own site. Yours, in two places: the SVG file, and wherever it is hosted. Nobody else can convert it for you, and the mailbox providers make no attempt to fix a file that does not conform — they simply do not draw it.
Page HTML — editing the exported SVG by hand
Where: The SVG file itself, opened in a text editor, and then the HTTPS URL your BIMI record's `l=` tag points at.
- Set the two root attributes exactly, because the profile's schema pins both values: `version="1.2"` and `baseProfile="tiny-ps"`, alongside `xmlns="http://www.w3.org/2000/svg"`.
- Remove any `x` or `y` attributes from the root `<svg>` element. The profile does not permit them, and Adobe Illustrator adds them on export — the specification names that tool and that attribute pair specifically, and this is the single commonest reason a hand-exported logo is rejected.
- Keep `width` and `height` on the root element, in absolute pixels. These are optional in the profile and required by Gmail, which asks for at least 96 pixels each and rejects relative values such as `100%`. Advice to strip them — including, until recently, our own — is wrong.
- Add a single non-empty `<title>` naming the brand, directly inside the root element. The profile requires it, it may appear only once, and it should be 64 characters or fewer. A `<desc>` is optional and both Google and the BIMI Group recommend adding one for accessibility.
- Use a square `viewBox`. The specification does not require this and we check it anyway: the indicator is drawn in a circular or square avatar slot, and a logo that is not square is cropped. Centre the mark inside it for the same reason.
- Delete everything the profile excludes: scripts and event handlers, animation, `<image>` (so no embedded raster artwork), `<switch>`, `<a>` and any other link, references to external resources, and any DTD subset or entity declaration. `<use>` is permitted — the schema defines it — so you do not need to flatten it.
- Keep the file under 32 kilobytes measured uncompressed. The profile states that as a SHOULD NOT exceed and Gmail states it flatly, so treat it as a limit.
- Re-upload to the same HTTPS URL, or publish a new one and update the `l=` tag in the DNS record to match.
If it goes wrong: Keep the previous file. Nothing about this change can affect mail delivery — BIMI governs display only — so the worst outcome is that the logo still does not appear, and restoring the old file returns you exactly to where you are now. Publish the new file at a new URL if you want to compare the two without a gap.
Starting from artwork rather than an existing SVG
Where: Your design tool's SVG export settings, then the file, then the hosting location the `l=` tag names.
- Export as SVG with a square artboard and the mark centred in it. Getting the geometry right in the tool saves editing it in text afterwards.
- Expect to edit the exported file regardless. No mainstream design tool emits SVG Tiny P/S: the export will need `baseProfile` and `version` added, and Illustrator's `x`/`y` attributes removed.
- Use the starter file from our BIMI generator as the frame if that is easier than correcting an export — every constraint in it is one the profile imposes, and you can replace the artwork inside it.
- Simplify the artwork before converting rather than after. Gradients, filters and embedded images all have to go, and a mark redrawn as flat shapes is both conformant and legible at the 96-pixel size it will actually be displayed at.
- Host it over HTTPS at a stable URL. The `l=` tag must be an `https:` URL, and a logo that moves needs the DNS record changed with it.
- Check what your mailbox providers additionally require. Gmail needs a mark certificate — a VMC, or a CMC — and only a VMC earns the verification checkmark; Yahoo states it does not currently require one. Those are provider policies, not file requirements, and they change.
If it goes wrong: Until the `l=` tag points at the new file, nothing is live: publish and test the file first, change the record second. If you do change the record and the logo stops appearing, restoring the previous `l=` value puts it back within the record's TTL.
Checked 2026-09. Control panels are redesigned without notice, so treat the click path as a snapshot rather than as fact.
Check it worked:
- curl -sS <logo URL> | head -c 400 — confirm version="1.2", baseProfile="tiny-ps", a non-empty <title>, and no x= or y= on the root element
- curl -sSI <logo URL> | grep -iE 'content-type|content-length' — expect image/svg+xml and fewer than 32768 bytes
- dig +short TXT default._bimi.<domain> — confirm the l= tag points at the file you just published
Test again re-fetches the logo and re-runs the same validation immediately, so a corrected file clears the finding on the next run. What it cannot tell you is when a mailbox provider will show the logo: each one caches and re-checks on its own schedule, and Gmail additionally requires the mark certificate to be valid.
Two of the checks we apply are stricter than the specification, and we would rather say so than let you discover it. A square `viewBox` is compatibility advice from the BIMI Group about how the indicator is displayed, not a requirement of the profile; and the 32-kilobyte size is a SHOULD NOT in the specification, which we treat as a failure because Gmail states it as a flat requirement. Provider policies here are a dated snapshot — Gmail's certificate requirement and Yahoo's lack of one were both checked in September 2026.
draft-svg-tiny-ps-abrotman — SVG Tiny Portable/Secure · BIMI Group — Creating BIMI SVG logo files · Google Workspace — Create a BIMI SVG file · Yahoo Sender Hub — BIMI
About the bimi checker
BIMI (Brand Indicators for Message Identification) lets a domain publish a logo that supporting mailboxes display next to authenticated mail from that domain. The record lives at default._bimi.yourdomain.com as a TXT record pointing to the logo's location and, optionally, to a Verified Mark Certificate that some providers require before they will display it. The logo itself has strict requirements: it must be an SVG in the restricted SVG Tiny Portable/Secure profile, served over HTTPS, and typically square. General SVG features like scripts and external references are not allowed, since the file is rendered inside recipients' inboxes and must be safe to parse without executing arbitrary content.
BIMI's real prerequisite is DMARC enforcement: the domain's DMARC policy must be at p=quarantine or p=reject, applied to all mail and with no sp=none exempting subdomains. RFC 9989 removed the pct tag, but a record still carrying one below 100 fails the prerequisite too, because BIMI validators continue to read it. This is deliberate. BIMI is designed to reward domains that have already proven they block unauthenticated mail impersonating them, not to serve as a shortcut to a trusted-looking logo. Support varies by mailbox provider: some display a BIMI logo once the DNS record and logo file are correct, while Gmail additionally requires a Verified Mark Certificate, which is a paid certificate tied to a registered trademark. This tool checks the technical prerequisites; the certificate requirement is a separate, provider-specific business step.
Because BIMI support and its exact requirements differ by mailbox provider and continue to evolve, treating a passing check here as a snapshot rather than a permanent guarantee is the safer approach, and re-checking after any DMARC or logo change is worth the extra step before assuming the logo will still display everywhere it used to. A logo that rendered correctly last quarter can stop appearing after an unrelated DMARC or DNS hosting change quietly loosens the enforced policy, so this is one of the few checks worth scheduling on a recurring basis rather than only running once at setup.
Common questions
- What is BIMI?
- Brand Indicators for Message Identification. It lets supporting mailboxes display a domain's logo next to mail that authenticates cleanly, as a visual trust signal for recipients.
- What are the requirements?
- A DMARC policy at p=quarantine or p=reject, applied to all mail with no sp=none and no leftover pct tag, an SVG Tiny Portable/Secure logo served over HTTPS, and for some providers such as Gmail, a Verified Mark Certificate.
- Is BIMI a security feature?
- Indirectly. It does not itself stop spoofing, but it rewards domains that already enforce DMARC, which is the control that actually blocks impersonation.
- Why won't my logo show even though the record is valid?
- Some mailbox providers, notably Gmail, additionally require a Verified Mark Certificate tied to a registered trademark before they display the logo, on top of a technically correct BIMI record.
What this tool checks (6 rules)
- email.bimi.dmarc-not-enforcing — BIMI is published but DMARC is not enforcing
- email.bimi.logo-not-svg-tiny-ps — BIMI logo is not a valid SVG Tiny Portable/Secure file
- email.bimi.logo-unreachable — BIMI logo URL cannot be fetched
- email.bimi.no-mark-certificate — BIMI record has no mark certificate
- email.bimi.no-record — No BIMI record published
- email.bimi.syntax-invalid — BIMI record has a syntax error