Why Outlook Strips Your Email CSS
Most email clients render HTML with their own stripped-down engine instead of a real browser, and Outlook is the strictest of all. Since 2007, desktop Outlook has used Microsoft Word's rendering engine to display HTML email instead of a browser-based engine like Chromium or WebKit. Word was built to render documents, not web pages, so it only understands a limited subset of CSS — and one of the first things it does is strip <style> blocks out of the <head> entirely, along with most CSS classes and IDs.
That means any CSS written the normal way — a stylesheet, or a <style> tag at the top of the HTML — simply won't apply once the email lands in Outlook. Text meant to be teal renders in default black. A carefully chosen font falls back to Times New Roman. Padding and spacing collapse.
The fix is to skip the stylesheet entirely and write every style directly on every element, as an inline style attribute. Word's rendering engine reads inline styles even though it ignores <style> blocks, so a declaration likecolor: #0D9488; font-family: Arial, sans-serif; written directly on a <p> tag survives the trip. This is called CSS inlining, and it's standard practice across every serious email service provider and email-building tool — not a workaround specific to one platform.
Other clients (Gmail, Apple Mail, Yahoo) are more forgiving but still strip external stylesheets and sometimes internal <style> blocks depending on context — webmail versus app, forwarded messages, and so on — so inlining is the safe default across all of them, not just Outlook.
Doing this by hand is tedious and error-prone: every paragraph, heading, and link needs the same style declaration copied onto it manually, and every one needs updating again if the color scheme changes. That's what this tool automates — write normal Markdown, and it outputs HTML with every style already inlined per element, matching what actually survives Outlook's Word-based renderer.