Email Button Generator
Design an Outlook-proof CTA email button — VML roundrect fallback for Outlook plus a styled anchor for everyone else. Live preview, one-click copy.
Design your button
Desktop Outlook renders the hidden VML version instead — same colors, same size, real rounded corners.
Paste this snippet anywhere inside your email's 600px content table. It is fully self-contained: the VML block only activates in desktop Outlook, and the mso-hide:all style keeps Outlook from also rendering the anchor.
How it works
Write text and URL
Enter your call-to-action text and the link it should open. The URL must start with https:// (or mailto:) — it's validated before any code is generated.
Style the button
Pick background and text colors, padding, corner radius, font and alignment. The preview updates live, and the VML fallback dimensions are computed automatically.
Copy the code
Copy the bulletproof snippet and paste it into your email's content table. Outlook gets the VML roundrect; every other client gets the styled anchor.
Buttons: the highest-leverage pixel in your email
Why buttons beat links
In email, a call-to-action button routinely outperforms a text link by a wide margin — it's bigger, it's tappable on mobile, and its color creates a visual anchor the eye lands on while scanning. But that advantage evaporates the moment the button breaks: in desktop Outlook, a naive styled link renders as flat underlined text with no background and no padding, and your carefully designed CTA becomes invisible. This is the single most common email coding bug in the wild, and it's why the "bulletproof button" pattern exists. The generator produces that pattern for you: a VML vector shape for Outlook's Word-based renderer, wrapped in conditional comments, plus a standard padded anchor for the other 90% of inboxes. Both are generated from the same settings, so they always match.
Anatomy of the bulletproof pattern
The generated snippet has three layers. The outer table centers the button and gives Outlook a layout context it understands — Outlook ignores most CSS positioning but respects tables. Inside, a conditional comment ([if mso]) reveals a v:roundrect shape only to Microsoft clients: it's given an explicit pixel width and height (computed from your text, font size and padding), your background color as fill, and an arcsize derived from your corner radius. A second conditional block hides the regular anchor from Outlook via mso-hide:all, so Outlook never renders both. Every other client ignores the VML entirely and renders the anchor — with real padding, background color and border-radius. The result: one snippet, pixel-consistent buttons everywhere.
Designing buttons people actually click
Code correctness gets the button rendered; design gets it clicked. Contrast is the first rule: white text on a saturated brand color clears accessibility thresholds and survives every inbox theme, including dark mode (where some clients invert light backgrounds — test yours). Padding matters more than font size for perceived importance — 14px vertical and 28px horizontal is a proven starting point, and bigger is better on mobile where the average thumb needs a 44px-tall target. Keep the text to 2–4 words of verb-first copy: "Get started", "Claim your seat", "Read the guide". Verbs outperform nouns because they promise an outcome. One primary button per email is the professional standard; every additional button splits attention and measurably lowers the click rate of the first.
Testing and dark mode caveats
Always test-send before a campaign: check desktop Outlook specifically (the VML path), plus Gmail web, Apple Mail and one mobile client. The two classic failures are a white-on-white button in dark mode — some clients force dark backgrounds behind your email while keeping your light text — and a VML shape whose width doesn't match the anchor because the text was edited after generation. This generator eliminates the second failure by computing VML dimensions from your actual settings every time anything changes. For dark mode, the safest defense is a button dark enough to read on both white and near-black grounds, with text that contrasts against both. When in doubt, a deep brand color with white text is the combination that breaks least often.
Buttons get the click; what surrounds them decides whether it converts. If the email promotes a post or a product, the Hashtag Generator builds the matching social tags, and the guide to counting characters keeps the subject line and preview text inside the limits inboxes actually display.
Frequently asked questions
Why does Outlook need special button code?
Will this button work in Gmail and Apple Mail?
What is VML?
Can I use a custom web font on the button?
Is my button design private?
Related Tools
WhatsApp Chat to PDF — Free Chat Book Maker
Turn a WhatsApp chat export (.txt) into a beautiful printable chat book. Filter by date, align your own messages, then…
Voice Dictation — Free Speech-to-Text Online
Dictate live into text with free browser speech recognition. 8 languages, live results, copy or download notes. Works…
Email Newsletter Composer
Write Markdown, get email-client-safe HTML — table-based layouts with inline CSS for Outlook and Gmail. 3 templates…
Text to Slug
Turn headlines into clean, SEO-friendly URL slugs.
Character Counter
Count letters and characters, with or without spaces.
Word Counter
Count words, characters, sentences and reading time of any text.