What are the requirements for BIMI SVG files and how do I validate them?
Matthew Whittaker
Co-founder & CTO, Suped
Published 24 Jun 2025
Updated 19 Aug 2025
10 min read
Getting your brand logo to appear next to your emails in recipients' inboxes, especially for major providers, is a powerful way to build trust and brand recognition. This is where Brand Indicators for Message Identification (BIMI) comes into play. BIMI allows email receivers to display a sender's verified logo next to their messages, but it relies on a very specific type of image file: the Scalable Vector Graphic (SVG). Unlike common image formats like JPG or PNG, SVG files for BIMI must adhere to a strict set of technical requirements. If your SVG isn't perfectly compliant, your logo simply won't show up. I've seen many organizations struggle with getting these files just right, and it often comes down to understanding the precise specifications and how to validate them.
The core challenge lies in the specific flavor of SVG required by BIMI, known as SVG Portable/Secure (SVG P/S) or SVG Tiny 1.2 Portable/Secure. This isn't just any SVG, but a heavily restricted subset designed for security and consistent rendering across various email clients. I've found that even graphic designers experienced with SVG often miss these nuances, leading to validation failures. The good news is that by understanding the precise attributes and elements allowed (and, more importantly, disallowed), you can prepare your logo correctly and ensure it displays as intended. Let's dive into the specifics of these requirements and the validation process.
Understanding the core SVG requirements
The foundation of a BIMI-compliant SVG file is its adherence to the SVG Portable/Secure (P/S) profile. This profile significantly limits the SVG features that can be used to prevent malicious code or inconsistencies in logo rendering. It means many standard SVG elements and attributes commonly used in web graphics are simply not permitted for BIMI. For instance, raster images embedded within the SVG, such as JPEGs or PNGs, are strictly forbidden. The entire logo must be composed of vector graphics. This ensures scalability and consistent display across different screen resolutions without loss of quality.
Beyond the vector-only rule, there are critical XML attributes that must be present in your SVG file. These attributes define the SVG's profile and version, ensuring mail clients correctly interpret the file. A missing or incorrect attribute can immediately cause your logo to fail BIMI validation. You also need to ensure the image is square, typically recommending a minimum size like 96x96 pixels, although larger resolutions like 1024x1024 pixels are often advised for optimal display and future-proofing.
Another crucial aspect is the inclusion of specific metadata tags within the SVG itself. The <title> element is mandatory and should contain your brand's name. A <desc> (description) element is also highly recommended. These provide accessibility and context for your logo. The file size is also a common pitfall; BIMI SVG files must be relatively small, typically under 32KB, to ensure quick loading and prevent abuse. This often requires optimization of the SVG, removing unnecessary elements or data.
Key SVG P/S requirements
Vector format only: Must be a pure vector image, no embedded raster images (JPG, PNG, GIF). Check the SVG file to ensure no bitmap formats.
Specific attributes: Must include baseProfile="tiny-ps" and version="1.2" in the <svg> tag.
Metadata tags: A <title> element is required, and <desc> is recommended. These should be placed within the <defs> section or directly under the root <svg> element.
No scripts or external references: Disallowed elements include <script>, <foreignObject>, and any external links (e.g., via xlink:href). This also applies to CSS <style> elements, which often need to be inlined as attributes.
Square aspect ratio: The logo must be square with a 1:1 aspect ratio. While some mail clients might adjust, it's best to conform. Google recommends a minimum of 96x96 pixels.
Small file size: Keep the file size under 32KB. Larger files can be rejected. This often requires manually cleaning up the SVG XML.
Essential attributes and formatting for BIMI SVG
One of the most common issues I see is SVG files containing disallowed elements or attributes. These can range from embedded raster images to JavaScript, animations, or external references. Even simple CSS <style> blocks can cause a failure, as BIMI requires all styling to be inlined directly as attributes on the SVG elements. Additionally, some transformations or gradient definitions may not be fully supported, even if they render in a web browser. It's important to strip out anything that isn't absolutely necessary for the static display of your logo.
Here’s an example of a minimalist BIMI-compliant SVG structure. Notice the baseProfile and version attributes, and the <title> tag. You can learn more about specific SVG dimensions for BIMI in our detailed guide.
It’s worth noting that while a tool might convert your logo to SVG, it might not strip out all the non-compliant elements automatically. Many conversion tools are designed for general web use, not the strict BIMI SVG P/S profile. Therefore, manual inspection and editing of the SVG XML file are often necessary to ensure full compliance. I often find that opening the SVG in a plain text editor, like Notepad or VS Code, is the most effective way to identify and remove problematic code.
How to validate your BIMI SVG file
Once you have your SVG file, validation is the next critical step. This ensures that your logo meets all the stringent requirements before you attempt to publish your BIMI DNS record. The BIMI Group provides an RNC Schema to validate BIMI SVG images. Many online tools are available that utilize this schema to check your SVG. These validators will scan your SVG file and flag any elements, attributes, or structural issues that do not comply with the SVG P/S specification.
Common validation errors include missing baseProfile or version attributes, the presence of disallowed tags like <script> or <image>, or external references via xlink:href. Even certain gradient transformations (like gradientTransform) can be flagged as non-compliant. While your logo might appear in some inboxes despite these errors, adhering strictly to the specification provides the best chance for universal display. Sometimes, mail providers will attempt to render non-compliant SVGs, but there's no guarantee, and their rendering might change over time, leading to unexpected logo disappearances. I recommend validating your BIMI SVG and certificate to ensure everything is set up correctly.
Common SVG issues
Embedded raster images: PNGs or JPEGs directly within the SVG.
Disallowed elements: Tags like <script>, <foreignObject>, and <style>.
External references: Use of xlink:href to external files or fonts.
Missing attributes: Lack of baseProfile="tiny-ps" or version="1.2".
Solutions for compliance
Convert to vector: Recreate or convert your logo to a pure vector format. Avoid auto-tracing raster images.
Manual XML editing: Open the SVG file in a text editor and remove problematic tags or attributes. Manual cleanup is essential.
Inline styling: Convert any CSS <style> rules into inline style attributes on individual elements.
Use BIMI validator tools: Always run your SVG through a BIMI validator that checks against the official RNC schema.
After validation, remember that your SVG file must be hosted on a publicly accessible web server using HTTPS. This secure hosting is a non-negotiable BIMI requirement. If the SVG is not accessible, or if the SSL certificate for the hosting domain is invalid, your logo will not display. This is a common oversight that I’ve seen cause issues for many senders, so always double-check your hosting setup and the URL in your BIMI DNS record.
Hosting, rendering, and troubleshooting BIMI SVG files
One interesting observation I’ve made is that some mailbox providers might be more lenient (or less strict) in their rendering of non-compliant SVG files. For example, your logo might appear correctly in Gmail or Yahoo Mail even if it contains elements technically disallowed by the SVG P/S specification. This is often because these providers might convert the SVG to a raster format internally before displaying it. While this can give a false sense of security, it's a risky approach. Mailbox providers can update their rendering engines or enforce stricter compliance at any time, leading to your logo suddenly disappearing. I've heard reports of Yahoo (and Gmail) being stricter with SVG parsing over time, making previously working logos fail. This underscores the importance of full compliance rather than relying on current rendering leniency. Learn how to implement BIMI for Gmail and Yahoo.
Troubleshooting often involves a systematic review of your SVG file against the BIMI specifications and using dedicated validators. If your logo stops appearing, it’s always a good idea to re-run the SVG through a validator. This will quickly tell you if the issue is with the file itself or possibly other aspects of your BIMI setup, such as your DMARC record, or a potential blocklist (or blacklist) issue affecting your domain's reputation. Remember that BIMI relies on a robust email authentication stack, including SPF, DKIM, and DMARC, with DMARC enforced at a policy of quarantine or reject. Any issues with these underlying protocols can also impact BIMI logo display.
Sometimes, the conversion process can leave behind invisible elements or excessive data that bloat the file size or include non-compliant features. Tools like SVG optimization software can help, but manual cleaning often yields the best results. It ensures your SVG is lean, efficient, and perfectly compliant with the BIMI Group’s specifications. Being proactive in managing your SVG file can save a lot of headaches down the road. You can always get more information about troubleshooting BIMI SVG issues.
Views from the trenches
Best practices
Always use a dedicated BIMI SVG validator to check compliance, not just a general SVG tool.
Manually inspect your SVG XML in a text editor to remove any non-compliant elements and optimize file size.
Ensure all CSS styling is inlined directly as attributes on SVG elements, avoiding `<style>` tags.
Host your BIMI SVG file on an HTTPS-secured server with a valid SSL certificate.
Keep your SVG logos simple, avoiding complex gradients, animations, or external references for best compatibility.
Common pitfalls
Relying on a general SVG converter that doesn't strictly adhere to SVG Tiny P/S requirements.
Ignoring validation errors because the logo currently displays on some mail clients.
Forgetting to include the mandatory `<title>` tag and recommended `<desc>` tag in your SVG.
Exceeding the 32KB file size limit due to unoptimized or complex SVG code.
Using embedded raster images (JPG, PNG) instead of pure vector graphics within the SVG.
Expert tips
If your logo displays on some providers but not others, it's likely an SVG compliance issue that some are lenient with.
Mailbox providers like Gmail and Yahoo may internally convert SVGs to raster, but this doesn't guarantee long-term display.
Regularly re-validate your SVG, especially after any changes, as mail client requirements can evolve.
Sometimes flattening your logo to a single color or simpler shapes can help achieve compliance with gradients.
Consider vector-editing software that allows fine-tuned control over SVG export options for BIMI P/S.
Marketer view
Marketer from Email Geeks says they had a BIMI logo working, but it contained non-allowed elements like GradientTransform and Style. They wondered if they should remove them and how to create gradients in an SVG.
2022-11-07 - Email Geeks
Expert view
Expert from Email Geeks says that some gradients are possible in SVG P/S, but more complicated ones may not work due to the specific limitations of the SVG P/S spec. They suggested creating individual line segments for each portion of the gradient as an alternative.
2022-11-07 - Email Geeks
Conclusion
Achieving a BIMI-compliant SVG file is a precise task that requires attention to detail. It's not enough for your logo to just be an SVG; it must specifically conform to the SVG Portable/Secure profile. This includes ensuring it’s a pure vector graphic, includes the correct XML attributes, contains mandatory metadata, and excludes any disallowed elements, all while staying within a strict file size limit. Regular validation of your SVG against the official BIMI Group RNC schema is the best practice to catch and fix issues early.
While some mail clients might display non-compliant SVGs, relying on this leniency is risky. Sticking to the strict requirements ensures greater consistency and prevents your logo from suddenly disappearing. By understanding these technical specifications and employing diligent validation, you can confidently implement BIMI and showcase your verified brand logo in email inboxes, enhancing trust and brand visibility for your recipients.