DNSfinder.net
BIMI Builder

BIMI Generator

The BIMI Generator builds the TXT record that points mailbox providers at your brand logo, and validates the logo file itself. Enter the domain, the HTTPS address of your SVG and, if you have one, the address of your mark certificate, and the record appears with its host name ready to copy. A separate validator checks pasted or uploaded SVG code against the SVG Tiny PS rules and previews the two shapes inboxes crop it to. Everything runs in your browser.

Loading BIMI Generator...

Querying live edge resolvers and network infrastructure...

How to use the BIMI Generator

  1. Enter your domain and leave the selector as default unless your mail names another one.
  2. Paste the HTTPS URL of the hosted logo and, optionally, the URL of your VMC or CMC certificate. The record and the Checks list update as you type.
  3. Paste your SVG code into the validator or press Upload SVG, then fix every failure it lists.
  4. Copy Host / Name, Type and Value into a TXT record at your DNS host, then follow the link to the BIMI Checker to test the live setup.

What to look for

Record and host, ready to paste

The output is split into Host / Name, Type and Value with a Copy button on each. The host is default._bimi followed by your domain, the type is TXT, and the value has the form v=BIMI1; l=logo URL; a=certificate URL; with a= left empty when you have no certificate.

Validator failures versus warnings

Failures block BIMI outright: wrong base profile or version, no title, a file over 32 KB, scripts, animation, bitmaps or external links. Warnings are things to tidy up, namely a missing or non-square viewBox and a missing xmlns declaration. Clear every failure before you upload the file.

Preview both crops

After you paste or upload a file, the logo is drawn twice, once in a circle and once in a rounded square. Most clients crop to a circle, so a mark that touches the edges of the square loses its corners. Leave padding around it and check both previews.

Guide

Building a BIMI record and a logo that passes

What goes into the record

A BIMI record is a short tag list. v=BIMI1 comes first and identifies the record. l= holds the HTTPS location of the logo, and a= holds the HTTPS location of the certificate that vouches for it, known as the authority evidence. With both boxes filled the generator outputs, for example, v=BIMI1; l=https://example.com/bimi/logo.svg; a=https://example.com/bimi/certificate.pem; and rewrites it on every keystroke.

The a= tag is always written, empty if you gave no certificate URL, which is the form a self-asserted record takes. Be careful with an empty logo box: v=BIMI1; l=; a=; is a valid record with a specific meaning, namely that the domain declines to publish a logo. Do not copy the value until the logo URL is in place.

Turning a logo into SVG Tiny PS

Mailbox providers accept one format, SVG Tiny Portable/Secure, and a normal export from a drawing program does not meet it. Start from a clean vector export with text converted to outlines, then open the file in a text editor: set version="1.2" and baseProfile="tiny-ps" on the root element, add a title element containing your company name, and delete anything on the forbidden list.

The validator applies these rules to whatever you paste or upload and reports each one as a pass, a warning or a failure. A root element with x or y attributes fails, as does a file over 32 KB. To shrink one, simplify paths and strip editor metadata. Files above 1 MB are refused by the upload button before any check runs.

  • Root element: version 1.2, baseProfile tiny-ps and the SVG xmlns.
  • A title element with the brand name.
  • No script, animation, foreignObject or image elements.
  • No href that points at an http or https address.
  • A square viewBox such as 0 0 100 100.

Hosting the logo and the certificate

Both files must be reachable by anyone over HTTPS, with no login, cookie wall or bot challenge in front of them. The Checks list fails a URL that does not start with https:// and warns when the logo address does not end in .svg or the certificate address does not end in .pem. Serve the logo with the Content-Type image/svg+xml. Some web servers need that mapping added.

The certificate file is the PEM your mark certificate issuer supplies. If you have none, leave the box empty. The generator states the trade-off in its own check: without a VMC or CMC, Gmail and Apple Mail will not show the logo, while Yahoo and some other providers will.

Publishing in the right order

BIMI depends on DMARC, so do that first. The policy must be p=quarantine or p=reject at pct=100 before any provider considers your logo. Confirm it with the DMARC Checker and, if you are still at p=none, plan the move with the DMARC Generator. Then upload the validated SVG, add the TXT record at default._bimi.yourdomain and wait for DNS to serve it.

DNS panels differ on the host field. Some want the full name default._bimi.example.com, others append the zone themselves and want only default._bimi. Keep the selector as default unless your sending system adds a BIMI-Selector header that names another one. With a domain entered, a link under the validator opens the BIMI Checker for it.

What the generator leaves unchecked

The generator works on what you type. It does not fetch the logo or certificate URLs, look up DNS or read the certificate, so a typo in a URL goes unnoticed and the file you validated may not be the file you later hosted. The BIMI Checker closes that gap: it downloads both files from the published record and checks DMARC as well.

Nothing you enter is sent to a server. The record is assembled and the SVG is parsed in the page, and the preview is drawn through an image element so a script inside the file cannot run. Nothing is saved either: reload the page and the form is empty, so copy the record before you leave.

Knowledge Base & FAQ

BIMI Generator FAQs

Common questions about the bimi generator.

It is a TXT record at default._bimi.yourdomain with the value v=BIMI1; l=https://example.com/logo.svg; a=https://example.com/vmc.pem; where l= is the logo and a= the certificate. A record for a domain with no certificate ends in a=; with nothing after the equals sign. The generator writes both forms for you.