Yes, ChatGPT can write HTML email quickly. Its preview is a browser, not an inbox, so layouts often break in classic Outlook or get clipped in Gmail. For a list send, build on a drag-and-drop canvas with a brand kit, send yourself a Test, then export HTML or MJML ready for your ESP.
You asked for an email, the preview looked great, and then it fell apart in Outlook, lost its colours in dark mode or got cut short in Gmail. You don't have to give up the speed to avoid that afternoon of fixing. Milo Email Studio keeps the head start and skips the clean-up: you build on a canvas that's on brand from the first block, and you check a real Test before anything leaves for your ESP.
What ChatGPT does well
Give credit where it's due. Ask for a promo email and you'll get a sensible order of sections in seconds: a header, a headline, a couple of short paragraphs, a button and a footer. It'll rewrite the copy in a warmer or shorter tone as often as you like, and suggest subject lines and preview text to choose from.
It can show you the result too. OpenAI's help page on code blocks says supported code blocks have a Preview that can display HTML pages inside ChatGPT. For thinking through what the email should say, it's a good partner.
Why a ChatGPT preview isn't an inbox
That preview runs in a sandboxed browser view, and inboxes don't all behave like browsers.
Classic Outlook for Windows still renders email with Microsoft Word's engine. Microsoft's own documentation of Word's HTML and CSS rendering in Outlook describes support for a subset of HTML 4.01 and CSS, and lists properties it doesn't support, including display, float, max-width and background-image. That's why Outlook-safe tables still matter, even now.
Gmail is closer to a browser, but it has limits of its own. Google publishes a list of the CSS Gmail supports and notes that Gmail "might ignore unsupported CSS properties and selectors".
So the preview tells you the HTML is valid and roughly what it'll look like in a browser. It can't tell you what Outlook or the Gmail app will do with it.
Where pasted HTML breaks: things to check
None of this means ChatGPT always gets it wrong. What you get depends on your prompt, and plenty of it will be fine. These are the places worth checking before you paste it into your ESP, and what each one costs you if it slips through.
Layout. Modern layout code, like flexbox, grid or a width set only with max-width, isn't something classic Outlook understands. The email can collapse into one long, oddly sized column. Tables with fixed widths are what hold up. The HTML email checklist we use before every export has the full list.
Styles Outlook drops. Rounded corners and background images aren't on Word's supported list, and neither is display, which many link-style buttons rely on for their padding. So a rounded button can come out square and cramped, and a background image may simply not show. If the headline is white text on that image, it can vanish against a white background.
Gmail's clip. Long or heavy HTML gets cut off behind a "View entire message" link, and the footer, unsubscribe line included, sits at the end where it's the first thing hidden. Here's what pushes an email past Gmail's clip.
Dark mode. Some inboxes recolour your email for dark mode, and a black logo or grey text can disappear. Here's how dark mode rewrites your colours.
Images and alt text. Every image needs to live at a public web address, not a file name like logo.png that only made sense in the chat. And each one needs alt text, so the email still makes sense when images are off.
Brand. Without a brand kit, each new email picks its own shades, fonts and button shapes. Over a few months your emails stop looking like they come from the same place.
Editing later. Next month someone wants to change the date. With pasted code, that means opening the HTML, or finding a way to turn existing HTML into editable blocks.
ChatGPT HTML compared with an email built in Milo
| ChatGPT's raw HTML | An email built in Milo Email Studio | |
|---|---|---|
| First draft speed | Very fast | Quick from a starter, or let the AI designer draft blocks |
| Preview | A browser view in the chat | A Test send to your own inbox |
| Outlook-safe layout | Depends on what you got | Built from MJML, compiled to table-based HTML |
| Brand consistency | Whatever you ask for each time | Set once in your brand kit |
| Accessibility checks | Up to you | The editor flags things like missing alt text and low contrast |
| Editing later | Code | Blocks on a canvas |
| Handoff | Copy and paste | Export HTML or MJML, or a Zoho Campaigns draft |
How we checked this
On 21 October 2026 we wrote a simple promo email by hand in a style pasted HTML often takes: a logo, a hero with a background image and white headline, short paragraphs, a rounded button, two product cards and a footer with an unsubscribe link, laid out with divs, flexbox and grid. It isn't ChatGPT output, and what ChatGPT gives you will depend on your prompt. We checked it against the list above. It had no tables at all, so classic Outlook had nothing it could rely on for the layout. The headline relied on a background image Outlook doesn't show. The logo pointed at a file name rather than a public address, and two of its three images had no alt text.
Then we exported Milo's promo starter through the same export code the app uses. That HTML was built on 17 tables with 12 Outlook-only conditional comments, and its button sat in a table cell with an Outlook-only padding rule so it keeps its size. It came to 12,268 bytes against 2,288 for the hand-written sample. Most of the extra weight is that Outlook support.
Last, we ran the sample through Milo's Import HTML code. Because it wasn't built on tables, it came in as one section holding a single text block, so the images and button weren't blocks you could edit on their own, and the editor's checks could only flag the missing preview text, not the missing alt text. Milo's own exported HTML, imported the same way, came back as nine blocks, including headings, paragraphs, images and a button.
This was a check of the HTML itself and of Milo's export and import code. We didn't send either email to an inbox, so for how each inbox renders them, see the sources linked above.
The easier route: build it in Milo Email Studio
You keep the quick start and lose the fixing. Start on a drag-and-drop canvas with a brand kit that keeps every email on brand, so colours, fonts and buttons are right before you've typed a word.
If you'd like a head start on the layout or the copy, the AI designer can draft blocks for you. Here's how Milo's AI designer drafts blocks on the canvas. What it makes are ordinary blocks, so you edit them like any other.
As you build, the editor flags common problems, such as an image with no alt text, low-contrast text or a missing preview line. It points them out, and you decide what to change.
Send yourself a Test and open it in Outlook, Gmail and dark mode. If the Gmail apps' dark mode spoils the design, the "Keep my light design in the Gmail apps" setting asks them to show your light colours. It's best effort: the Gmail apps honour it only for Google accounts, and some apps may still change colours.
When it looks right, export HTML or MJML ready for your ESP, or push a draft to Zoho Campaigns. The campaign itself goes out from your ESP.
Already have ChatGPT's HTML? You can import it into Milo and keep working on it. Expect some tidying, as our check above shows, since HTML that isn't built on tables can come in as one big text block.
Try it on your next email. Build on the canvas, send a Test, then export, or ask Milo's AI designer to draft the first blocks.
When ChatGPT's HTML is fine as it is
Sometimes you don't need any of this. A plain, mostly text email to a list you know reads it in modern inboxes can go out as ChatGPT wrote it, once you've sent a Test to the inboxes that matter and it looks right. If it holds up there, use it.
Questions
Can ChatGPT make an HTML email?
Yes. It can write the HTML, the copy and the structure quickly. Test it in the inboxes your list uses before you send, because its preview is a browser, not an inbox.
Why does my ChatGPT email look broken in Outlook?
Classic Outlook for Windows renders email with Word, which ignores a lot of modern HTML and CSS. Layouts need tables with widths, and buttons need to be built so Outlook keeps their padding.
Does ChatGPT HTML email work in Gmail?
Often, but Gmail ignores some CSS and clips long emails. Keep the HTML lean and send yourself a test in Gmail on the web and on a phone.
Is it better to use ChatGPT or an email builder?
ChatGPT is strong on words and a first draft. When the email has to look right in Outlook and Gmail, stay on brand and be edited next month, use a drag-and-drop builder with a brand kit, send a Test, then export HTML or MJML (or push a Zoho Campaigns draft). Milo's AI designer can draft blocks on that canvas; it is a helper inside the builder, not a chat window you paste from.
Can I turn ChatGPT's HTML into an editable email?
Yes. Import it into a drag-and-drop editor and you get an email you can keep editing, though spacing and some styles may shift, and HTML that isn't built on tables may come in as one large text block.
How do I test an HTML email before sending?
Send a test to the inboxes your list really uses, including Outlook and a phone, and check it with images off and in dark mode.