Bulletproof Email Button Generator
Configure a CTA button. Get email-safe HTML with the full VML fallback for Outlook desktop. The button renders correctly in every major client - Apple Mail, Gmail, Yahoo, Outlook desktop, Outlook web - because we ship the bulletproof pattern, not the modern-CSS-only shortcut. Free, no signup.
How the bulletproof pattern works
Modern email clients render the inner <a> tag with proper padding and rounded corners. Outlook desktop on Windows renders HTML through the Microsoft Word engine, which ignores border-radius and treats <a> padding inconsistently.
The fix: wrap the modern button in <!--[if mso]>...<![endif]--> conditional comments, and inside that block emit a VML <v:roundrect>. The conditional is a comment to every other client (so they ignore the VML), but Outlook 2007-2019 desktop (and parts of Microsoft 365 on Windows) honor it and render the VML version. Result: every client sees a real rounded button.
FAQ
What is a bulletproof button?
An HTML button that renders correctly in every major email client - including Outlook desktop, which uses Microsoft Word to render HTML. The bulletproof part comes from including a VML <v:roundrect> fallback wrapped in MSO conditional comments. Without VML, Outlook desktop ignores CSS border-radius and renders the button as a plain rectangle.
Why does Outlook need VML?
Outlook 2007 through 2019 (and parts of Microsoft 365) render HTML email through Microsoft Word's HTML engine. Word doesn't support CSS border-radius or many modern features. VML (Vector Markup Language) is Microsoft's pre-SVG vector format that Word does support. The bulletproof pattern serves modern HTML to clients that understand it, and VML to Outlook only.
Why don't most free button generators include VML?
VML is verbose. The full bulletproof pattern adds 8-10 lines of conditional XML for one button. Most generators ship the modern-CSS-only version because it looks cleaner. The trade-off: their buttons render as squares in Outlook desktop. If your audience uses Outlook (still 7-9 percent market share), that's a real problem.
What email clients does the output work in?
Apple Mail (macOS / iOS), Gmail web, Gmail Android, Gmail iOS, Outlook web, Outlook macOS, Outlook 2007-2019 desktop, Outlook 365 desktop, Yahoo, AOL, Spark, Thunderbird, Proton Mail. Patterns from buttons.cm.
How do I use the output?
Copy the HTML and paste directly into your email source - your ESP's HTML editor, an editor like MiN8T, or a hand-coded email's <td>. No setup. If your builder strips HTML comments, you'll lose the VML - switch to a builder that preserves them.
Can I add hover states?
Hover only works in clients that honor <style> blocks (Apple Mail, Gmail web, Yahoo, Outlook web). Outlook desktop and most mobile clients ignore them. Add a .btn-cta:hover { background-color: ... } rule above your email body if you need one - the output uses class btn-cta.
Why use buttons instead of styled links?
Buttons get clicked at higher rates than text links in marketing emails - often 2-3x. Easier to spot, easier to tap, signal action more strongly. Exception: transactional emails (password resets, receipts) where text links feel more native.
How do I test the output?
Use our Inbox Preview tool for browser-based testing across Gmail, Apple Mail, and an Outlook approximation. For pixel-perfect Outlook testing, you still need Litmus or Email on Acid.
Drop the button into a real template
MiN8T's editor has every email-safe component pre-built: bulletproof buttons, columns, dividers, image rows. Build the whole template, not just the button.
Open MiN8T Editor →