Why validate your BIMI logo before publishing?
BIMI (Brand Indicators for Message Identification) displays your logo next to your emails in Gmail, Yahoo and other mailbox providers. But a misconfigured logo stays invisible, even with a correct DNS record.
Mailbox providers enforce strict constraints: the file must be SVG Tiny-PS (Tiny Portable/Secure) format, served over HTTPS, with reasonable weight. A single forbidden element (script, external font, foreignObject) blocks display.
Common issues detected by the tool:
- Scripts or animations → Logo is rejected (Tiny-PS forbids any executable code)
- Embedded fonts → Use vector shapes instead
- External references → URLs to remote files are blocked
- File too large → Exceeding 32 kB slows or blocks display
- Missing HTTPS → Logo must be served over a secure connection
How to verify your BIMI logo in 3 steps
Step 1: Get the logo URL
Locate the l= field in your BIMI TXT record:
v=BIMI1; l=https://cdn.captaindns.com/brand/logo.svg
Copy the complete logo URL (everything after l=).
If you don't have a BIMI record yet:
- Create your Tiny-PS compliant SVG logo
- Host it on a CDN or HTTPS server
- Use the staging URL to test before publishing
Step 2: Run the check
Paste the URL in the field above and click Verify. The tool:
- Downloads the file from your server (like Gmail would)
- Measures latency and records redirects
- Analyzes SVG content to detect forbidden elements
Step 3: Interpret and fix
The report distinguishes:
- Errors (red): Block display. Fix first.
- Warnings (orange): Potential risks. Address for an optimal logo.
- Success (green): Compliant elements.
What is BIMI and Tiny-PS?
BIMI (Brand Indicators for Message Identification)
BIMI is an email standard that displays your brand logo in mailbox clients. It relies on:
- Email authentication: SPF, DKIM and DMARC must be correctly configured
- DNS record: A TXT record
default._bimi.yourdomain.compoints to your logo - VMC (optional): Verified Mark Certificate for Gmail
Tiny-PS (Tiny Portable/Secure)
Tiny-PS is a restricted SVG profile designed for security:
| Element | Allowed | Forbidden |
|---|---|---|
| Geometric shapes | rect, circle, path, polygon | - |
| Colors | fill, stroke, linear gradients | - |
| Scripts | - | script, JS events |
| Fonts | - | font, font-face, external fonts |
| Multimedia | - | image, video, audio |
| References | - | xlink:href to external files |
| Animations | - | animate, animateTransform |
Why these restrictions? BIMI logos are displayed in high-security contexts (emails). A malicious SVG could execute code or load external resources. Tiny-PS ensures the logo is purely visual and risk-free.
What exactly does the tool analyze?
HTTP Delivery
| Metric | Check | Impact |
|---|---|---|
| Latency | Download time | Over 5 seconds = warning |
| Redirects | Number of hops (301/302) | Over 2 redirects = warning |
| Final URL | Endpoint after redirects | Must be HTTPS |
| MIME type | Content-Type returned | Must be image/svg+xml |
| TLS certificate | HTTPS validity | Expired certificate = error |
SVG Structure
| Element | Check | Result if non-compliant |
|---|---|---|
| viewBox | Presence and format | Warning if absent |
| Dimensions | width/height declared | Information |
| Scripts | <script>, events | Blocking error |
| Fonts | <font>, @font-face | Blocking error |
| foreignObject | Embedded HTML content | Blocking error |
| External references | Remote xlink:href | Blocking error |
| Animations | <animate> and derivatives | Blocking error |
File Size
| Threshold | Status | Recommendation |
|---|---|---|
| Under 20 kB | Optimal | No action needed |
| 20-32 kB | Acceptable | Optimization recommended |
| Over 32 kB | Warning | Reduce via compression or simplification |
Real-world use cases
Case 1: Invisible logo despite configured BIMI
Symptom: You have a valid BIMI record, DMARC in place, but the logo doesn't appear in Gmail.
Diagnosis with the tool:
- Paste the logo URL
- Discover:
Error: <script> element detected - The SVG contains an animation script inherited from Illustrator export
Action: Re-export the SVG without scripts. Use "SVG Tiny 1.2" or clean manually.
Case 2: Logo loads slowly or intermittently
Symptom: The logo displays inconsistently, sometimes with delay.
Diagnosis with the tool:
- Latency: 4.2 seconds
- Redirects: 4 (http → https → www → CDN → edge)
- File size: 45 kB
Action:
- Reduce redirects (point directly to the final URL)
- Compress the SVG (remove metadata, optimize paths)
- Use a CDN with aggressive caching
Case 3: Pre-launch brand validation
Symptom: You're preparing BIMI deployment for a new brand and want to validate the logo upfront.
Workflow:
- Export your logo as SVG from Illustrator/Figma
- Host on a staging HTTPS URL
- Run the CaptainDNS check
- Fix errors and warnings
- Validate one final time before DNS publication
Result: Deployment without surprises, logo visible as soon as DNS propagates.
Best practices for a compliant BIMI logo
Creating the SVG
- Use vector shapes: No embedded bitmap images
- Convert text to paths: Avoid fonts, use
<path> - Remove metadata: Comments, editor info, history
- Simplify paths: Reduce the number of anchor points
- Define a viewBox: Allows correct resizing
Export from common tools
| Tool | Recommended setting |
|---|---|
| Adobe Illustrator | File → Export → SVG (Profile: SVG Tiny 1.2) |
| Figma | Export SVG → Check "Outline text" |
| Inkscape | Save As → Optimized SVG |
| Sketch | Export → Format SVG → Outline text |
Hosting
- HTTPS required: Valid certificate, no security warnings
- CDN recommended: Cloudflare, AWS CloudFront, Fastly for latency
- Long cache:
Cache-Control: max-age=86400minimum - Minimal redirects: Ideally 0, maximum 2
FAQ - Frequently asked questions
Q: What is the SVG Tiny-PS profile?
A: Tiny-PS (Tiny Portable/Secure) is a restricted SVG subset required by BIMI. It forbids scripts, external fonts, foreignObject and remote file references. Only static graphic elements are allowed to ensure security in mailbox clients.
Q: Why isn't my BIMI logo showing in Gmail?
A: Common causes:
- Non-compliant Tiny-PS logo (scripts, fonts, animations forbidden)
- File too large (over 32 kB)
- Invalid HTTPS or expired certificate
- Too many redirects in the delivery chain
- DMARC not configured with
quarantineorrejectpolicy
Run a check to identify the exact problem.
Q: What's the maximum size for a BIMI logo?
A: The official recommendation is to stay under 32 kB. A larger logo slows display and may be rejected. To reduce size:
- Remove unnecessary metadata
- Simplify vector paths
- Use tools like SVGO or SVG Optimizer
Q: Does the tool actually download my logo?
A: Yes, CaptainDNS proxies the download from its backend server. This simulates exactly what Gmail, Yahoo and other providers do when fetching your logo for display.
Q: Can I check a logo before publishing it?
A: Yes, and it's recommended. Host your SVG on a temporary HTTPS server (staging, test CDN) and run the check before adding it to your production BIMI record.
Q: What do warnings mean?
A: Warnings indicate constructs that might cause problems with some providers:
- File near the 32 kB limit
- Long redirect chain (3+)
- High latency (over 3 seconds)
- Superfluous metadata
They don't necessarily block display but deserve attention for a robust logo.
Q: How often should I check my BIMI logo?
A:
- After every change: to the SVG file or hosting
- After CDN change: new URL, new certificate
- Routine: quarterly check to detect infrastructure incidents
- When reported: if users report the logo no longer appears
Complementary tools
| Tool | Purpose |
|---|---|
| BIMI Inspector | Check your BIMI DNS record |
| BIMI Generator | Generate a valid BIMI record for your domain |
| DMARC Inspector | Validate DMARC policy (BIMI prerequisite) |
| Email Tester | Complete deliverability score |
| SPF Inspector | Check SPF authentication |
| DKIM Inspector | Validate DKIM signature |
Useful resources
- BIMI Group - Official specification (implementation guide)
- RFC 9495 - BIMI (technical specification)
- Google - Set up BIMI (Gmail Workspace guide)
- W3C - SVG Tiny 1.2 (reference Tiny profile)
- SVGO - SVG Optimizer (open source tool to reduce file size)