What Is SVG Tiny PS and Why Does BIMI Require It?
SVG Tiny PS (Portable/Secure) is a restricted subset of the SVG Tiny 1.2 specification. BIMI requires it because mailbox providers need to render logos safely inside email clients — environments that cannot execute scripts, load external resources, or handle complex SVG features without introducing security and rendering risks. As a result, proper SVG Tiny PS formatting is a critical part of BIMI implementation, since a standard SVG file will fail BIMI validation even if it displays correctly in a browser.
What SVG Tiny PS Restricts
The profile removes SVG 1.1 features that would introduce security risks or rendering inconsistencies in email environments — scripts, external resource references, animations, embedded raster images, and filter effects are all excluded.
| Feature | Standard SVG | SVG Tiny PS |
|---|---|---|
| Basic shapes (path, rect, circle, etc.) | Allowed | Allowed |
| Solid fills and gradients | Allowed | Allowed |
External resource references (href, xlink:href) | Allowed | Not allowed |
Embedded scripts (<script>) | Allowed | Not allowed |
Animations (<animate>, SMIL) | Allowed | Not allowed |
Raster image embeds (<image>) | Allowed | Not allowed |
Foreign objects (<foreignObject>) | Allowed | Not allowed |
Filters and effects (<filter>) | Allowed | Not allowed |
Declared namespace: SVG Tiny 1.2 in profile attribute | Optional | Required |
The Required SVG Declaration
A BIMI-compliant SVG must declare the SVG Tiny PS profile in its root element. This declaration is checked by validators and CAs during the certificate issuance process. Omitting it causes rejection even if the visual content would otherwise be compliant.
<!-- Required SVG Tiny PS root element structure --> <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.2" baseProfile="tiny-ps" viewBox="0 0 240 240"> <!-- title element is required --> <title>Company Name</title> <!-- Your logo paths here --> </svg>
Why Visual Validation Is Not Sufficient
An SVG that renders correctly in a browser may still fail BIMI validation. Standard SVG 1.1 files and SVG Tiny 1.2 files without the tiny-ps profile attribute look identical when viewed — the non-compliance is in the file structure, not the visual output. The only way to confirm compliance is to run the file through a BIMI-aware SVG validator, not to inspect it visually. Use the BIMI Readiness Assessment to check SVG compliance before applying for a certificate.
Frequently Asked Questions
Can I use a PNG or JPEG logo for BIMI instead?
l= tag. Raster image formats (PNG, JPEG, WebP) are not supported. The SVG must additionally conform to the SVG Tiny PS profile — a valid SVG 1.1 file will also fail.My logo uses gradients. Does SVG Tiny PS allow them?
<linearGradient> or <radialGradient> element inside the same SVG file, it is generally compliant. Run the file through a validator to confirm.Can I convert my existing SVG to SVG Tiny PS without a redesign?
baseProfile="tiny-ps" and version="1.2" attributes, adding a <title> element, and removing any disallowed elements (scripts, animations, external references, raster embeds). Logos with complex filter effects or external fonts embedded via reference will require more significant rework.