To convert ordinary HTML into email-compatible content, rebuild the layout for email clients, inline the CSS that controls essential appearance, add fallbacks for clients such as Outlook for Windows, and test the actual message in the apps and devices your recipients use. There is no single conversion switch that produces identical rendering everywhere: Gmail, Outlook, Apple Mail and mobile webmail support different subsets of HTML and CSS.
What “email-compatible” really means
A web page is rendered by a browser with a comparatively consistent standards engine. An email is rendered by a collection of mail clients, security filters and viewing contexts. A message opened in Gmail’s web interface, Outlook for Windows, Apple Mail, or Gmail in a mobile browser can interpret the same markup differently. Unsupported selectors or properties may simply be ignored.
Google’s Gmail CSS documentation confirms that Gmail supports inline styles, some style blocks, standard CSS, selected selectors and media queries—not that it supports every web-CSS feature. The NSW Email Toolkit notes that Outlook for Windows uses Microsoft Word to render HTML and has limited CSS support. Therefore, “compatible” should mean a useful, readable baseline with deliberate enhancements, not pixel identity.
1. Define the clients and devices before editing code
Start with the audience, not a template. List the clients that account for your subscribers’ opens, plus the mobile operating systems and browsers used to access webmail. At minimum, include Gmail, Outlook and Apple Mail when those audiences are relevant. The exact matrix depends on your list; no source establishes one universal test set.
Free tools Windows power users keep installed
One-click scans. No signup required.
#1 Best Overall
- Desktop: include Outlook for Windows if it is used by business recipients, along with Gmail and Apple Mail where applicable.
- Mobile apps: check the native apps your audience uses, because their rendering behavior is not identical to mobile webmail.
- Mobile browsers: separately test Gmail or Outlook opened in a phone browser. Adobe documents this as a special case in which style blocks and media queries may not reliably control critical layout.
- Older or constrained clients: decide whether a simple, text-forward fallback is required.
Write down the minimum acceptable result for each target: readable text, usable links, visible calls to action and acceptable spacing. This keeps a minor visual difference from becoming a release blocker while catching failures that affect comprehension.
2. Strip a web page down to an email-safe structure
Keep the document self-contained
Remove scripts, navigation meant for a browser, interactive components, external dependencies and content that only works after a page loads. Use absolute URLs for images and links. Give every meaningful image useful alternative text, and keep important information in text rather than only in an image.
Use a predictable container
For broad compatibility, a centered, fixed maximum-width content area inside a full-width wrapper is a conservative starting point. The NSW guidance recommends table-based structure for layouts that must work reliably in Outlook for Windows. Use tables for presentation layout, keep the hierarchy understandable, and avoid relying on flexbox, CSS grid, positioned elements or background effects for essential content.
A minimal pattern looks like this (replace the example text and URLs):
Recommended Free Tools
<table role="presentation" width="100%" cellpadding="0" cellspacing="0" border="0" style="width:100%;margin:0;padding:0;background:#f4f4f4;">
<tr>
<td align="center" style="padding:24px 12px;">
<table role="presentation" width="600" cellpadding="0" cellspacing="0" border="0" style="width:100%;max-width:600px;background:#ffffff;">
<tr>
<td style="padding:32px;font-family:Arial,sans-serif;color:#222222;">
<h1 style="margin:0 0 16px;font-size:28px;line-height:1.2;">Your headline</h1>
<p style="margin:0 0 20px;font-size:16px;line-height:1.5;">Your message.</p>
<a href="https://example.com" style="display:inline-block;padding:12px 20px;background:#1565c0;color:#ffffff;text-decoration:none;">Read more</a>
</td>
</tr>
</table>
</td>
</tr>
</table>
role="presentation" tells assistive technology that layout tables are not data tables. Do not apply that role to a table that genuinely contains tabular data; label such a table properly instead.
3. Inline the CSS that controls the baseline
Move essential declarations onto the elements they style: typography, colors, spacing, widths, alignment and button appearance. Mailchimp’s CSS guidance recommends inline CSS because webmail processing can alter or remove parts of a full document. Keep the baseline legible even if nonessential styles disappear.
Rank #2
What belongs inline
- Font family, size, weight, color and line height.
- Cell padding, widths, alignment and background colors.
- Link color and decoration, including button styles.
- Image dimensions and display behavior.
- Any declaration whose loss would make content hard to read or use.
What can remain an enhancement
Media queries, hover states and client-specific refinements can stay in a style block when the target clients support them, but they must not be the only way the message becomes readable. Adobe’s mobile-browser scenario is a reminder not to depend on style blocks or media queries for critical layout in that context.
Use an inliner carefully
A tested inliner can translate selectors into inline declarations consistently. Foundation for Emails’ inliner provides a browser-based workflow and framework documentation. Treat its output as a build artifact, not proof of compatibility: inspect the generated HTML, preserve necessary media queries, and test the delivered message.
4. Add responsive behavior without breaking the fallback
Design mobile-first at the structural level: let columns stack, keep tap targets comfortably padded, use readable type and avoid wide content that forces horizontal scrolling. Gmail documents support for some media queries, but support is selective. A responsive rule should improve a valid baseline rather than repair a broken desktop-only layout.
For example, a two-column enhancement can stack cells on narrow screens while the inline widths still produce a readable desktop fallback:
<style>
@media screen and (max-width:600px) {
.stack-column,
.stack-column td {
display:block !important;
width:100% !important;
max-width:100% !important;
}
.mobile-pad { padding:20px !important; }
}
</style>
Give the cells a class, inline a sensible desktop width, and verify that the message still works when the media query is ignored. Do not assume that a rule tested in a native app behaves the same in a mobile browser.
5. Build Outlook and other fallbacks only where needed
Outlook for Windows’ Word-based renderer is the common reason a browser-perfect email fails. The NSW toolkit describes conditional CSS, table layouts and fallback approaches for this environment. Use those mechanisms to solve a demonstrated problem, not as decoration.
Rank #3
Typical fallback decisions
- Use table cells instead of flex or grid for columns.
- Provide a solid background color when a background image is nonessential or unreliable.
- Keep button text and destination in a normal link so the call to action survives styling loss.
- Set explicit widths on critical cells and images; include height only when preserving composition is important.
- Use conditional comments for Outlook-only markup when the baseline cannot meet a real requirement.
Do not hide essential copy inside a client-specific branch. Every recipient should receive the core message, even when an enhanced treatment is unavailable.
6. Images, links and accessibility checks
- Host images over HTTPS, set explicit dimensions, and add meaningful
alttext. Assume images may be blocked initially. - Keep critical instructions and offers as live text, not text baked into images.
- Use descriptive link text and a visible focus/reading order that makes sense without color alone.
- Check contrast, text scaling and dark-mode behavior in the clients that matter. If colors invert or change, verify that links and buttons remain identifiable.
- Keep the HTML lean. Remove unused styles, tracking markup that is no longer needed and deeply nested wrappers that complicate troubleshooting.
7. Test the rendered message, not just the source
Conversion is complete only after the sent or previewed message is inspected. Send the final MIME message through the same delivery path you will use in production; a local browser preview cannot reproduce client sanitization and image blocking.
- Open the message in each priority desktop client and record structural differences.
- Repeat on representative phones, including a mobile-browser webmail case if subscribers use it.
- Test with images disabled, zoomed text and dark mode where available.
- Activate every link, including unsubscribe and preference links, and verify tracking redirects.
- Compare the baseline and enhanced versions. A media query failing should change spacing, not remove the offer or make text unreadable.
- Fix the source, rebuild the inlined output, and retest; do not patch only a screenshot or one client’s copy.
Foundation for Emails, Mailchimp and Omnisend all position inlining and cross-client testing as practical workflow steps. Omnisend’s HTML basics guidance, published March 19, 2026, specifically recommends table layouts, inline CSS and testing in Gmail, Outlook and Apple Mail. That is vendor guidance, not a universal standards mandate, so adjust the matrix to your audience.
Or skip the browser setup
If your goal is to inspect a hosted email preview or landing-page version at a stable URL, ScreenshotNeo can produce a clean image or PDF with one request. It accepts consent banners before capture and removes more than 60 known consent platforms, newsletter popups and chat widgets; each step can be disabled. Bot checks, CAPTCHAs, blank pages, timeouts, failed loads and cache hits are not billed, and response headers identify the page verdict and billing status.
After publishing your preview URL, capture it with cURL (the complete option reference is in the ScreenshotNeo documentation):
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
Python:
import requests
r = requests.get("https://api.screenshotneo.com/v1/shot", params={"access_key": "YOUR_API_KEY", "url": "https://stripe.com"}, timeout=90)
open("shot.webp", "wb").write(r.content)
Node.js:
const q = new URLSearchParams({ access_key: 'YOUR_API_KEY', url: 'https://stripe.com' });
const res = await fetch(`https://api.screenshotneo.com/v1/shot?${q}`);
ScreenshotNeo also offers full-page capture with lazy-image loading, CSS-selector element capture, device presets and custom viewports, retina scale, PDF paper and page controls, custom CSS or JavaScript, click-before-capture actions, selector hiding, selector/delay/network-idle waits, request and resource blocking, custom headers/cookies/user agents, timezone and geolocation, transparent backgrounds, resizing, configurable-TTL caching, signed links, asynchronous jobs with signed webhooks, bulk capture for up to 100 URLs per call, a usage API, an OpenAPI specification and an MCP server with take_screenshot, get_page_info and capture_pdf tools for AI clients such as Claude or Cursor.
The Free plan includes 1,000 screenshots each month with no card. Paid plans start at $5 for 3,000 shots; yearly billing provides two months free, and every feature is available on every plan. Create a free ScreenshotNeo account to capture your preview without setting up a browser.
Troubleshooting common conversion failures
“The email is blank or unstyled.”
Check whether the client removed a style block, external stylesheet or unsupported selector. Inline the declarations that control visibility, color and spacing, and ensure the content is not dependent on JavaScript.
Do these 3 things before closing this tab:
1Repair Windows errors before they cause bigger problems2Fix the driver behind crashes, sound loss and screen glitches3Clear out junk files and repair common Windows errors“Outlook columns are the wrong width.”
Replace flex/grid columns with table cells, set explicit widths on the cells and images, and add an Outlook-specific fallback only if the simpler structure still fails.
“The mobile layout works in Gmail but not mobile webmail.”
That is a rendering-context difference. Move critical sizing and spacing inline, make the desktop structure readable when media queries are ignored, and treat responsive rules as optional enhancements.
“Buttons lose their color or padding.”
Use an inline-styled link with a text label, adequate padding and a contrast-safe color. Verify it with images blocked and with the client’s link styling applied.
“Images do not appear.”
Confirm HTTPS hosting, absolute URLs and valid dimensions. Keep alt text and nearby live copy so the message remains understandable before images are downloaded.
Outdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware matchWindows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstall“The generated HTML is huge.”
Remove unused selectors and duplicated wrappers, then run the inliner again. Large, deeply nested markup is harder to debug and may interact badly with client size or sanitization limits.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Hand-coded workflow versus a framework and inliner
| Approach | Automation | Fallback control | QA still required |
|---|---|---|---|
| Hand-coded tables and inline CSS | Low; you manage structure and inlining directly | Highest direct control, including conditional markup | Full client/device rendering and link checks |
| Framework plus inliner | Higher; reusable components and selector-to-inline conversion | Good, provided you inspect generated output and preserve needed media queries | Still full rendering QA; tool output is not a compatibility guarantee |
Choose hand coding when the message is small or requires unusual client-specific treatment. Choose a framework/inliner workflow when many messages share components and you can enforce a repeatable build and test process. In both cases, the target-client list and rendered-message checks determine whether the conversion succeeded.
Best Value
FAQ
Can I paste a web page directly into an email?
You can paste markup, but browser assumptions, external assets and unsupported CSS make direct reuse unreliable. Extract the content, simplify the structure, inline critical CSS and test the delivered message.
Does Gmail remove all embedded CSS?
No. Gmail supports some style blocks, standard CSS, selectors and media queries. Unsupported properties or selectors may be ignored, so essential rules should still be inline.
Quick wins for a faster PC:
Scan for outdated or missing drivers - takes under a minuteDriver Scan →Repair Windows errors before they cause bigger problemsFix Now →Is table-based email markup obsolete?
It is old-fashioned for websites but remains a conservative compatibility technique, especially when Outlook for Windows is in scope. Use semantic data-table markup when the table represents data, and presentation semantics for layout tables.
What is the fastest way to know whether a conversion is safe?
Send the final built message to the priority clients and inspect desktop, mobile, image-blocked and relevant webmail-browser views. Source validation alone cannot reveal client rendering differences.
Frequently Asked Questions
Should I use a CSS reset in an HTML email?
Only if you have tested its effects in your target clients. Broad resets can change default margins and typography unpredictably; explicit inline values on critical elements are easier to reason about.
Can responsive email rely entirely on media queries?
No. Media-query support varies by client and context. Make the inline baseline usable first, then add media queries for clients that support them.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
How should I handle dark mode?
Treat it as a client-specific enhancement: test the actual message, check contrast and button visibility, and keep essential meaning in text and links rather than color alone.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

