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

Inbox preview — this is what non-Outlook clients render

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.

Building a full newsletter around this button? Compose it in the companion tool. Email Newsletter Composer →

How it works

1

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.

2

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.

3

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?
Desktop Outlook renders HTML with Microsoft Word's engine, which ignores padding and border-radius on links. A normal styled anchor degrades into a flat, square text link. The VML roundrect fallback draws a real vector button that Outlook understands, while every other client uses the standard styled anchor.
Will this button work in Gmail and Apple Mail?
Yes. Gmail, Apple Mail, Yahoo, Outlook.com and mobile clients all render the standard anchor version with full padding, background color and border radius. Only desktop Outlook (2007 and later) uses the VML fallback — the conditional comments hide each version from the wrong client.
What is VML?
Vector Markup Language is an old Microsoft vector graphics format that Outlook's Word-based renderer still understands. Email developers use its roundrect shape as a fallback to draw buttons with rounded corners and background colors in Outlook, wrapped in conditional comments so other clients never see it.
Can I use a custom web font on the button?
Not reliably — most email clients strip web fonts, so the generator sticks to web-safe stacks (Arial, Georgia, Verdana, Tahoma) that render identically everywhere. Bold weight and padding do more for a button's presence than any typeface. If your brand font matters, put it in a fallback stack and accept that many readers will see the substitute.
Is my button design private?
Yes. The code is generated entirely in your browser with no server involved. Your settings are saved only to your own browser's localStorage. Nothing about your design, text or links is uploaded or tracked, and the generated HTML is yours to paste into any email platform — closing the tab leaves nothing behind on our side.

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.