· 4 min read
How to Write the Plain Text Half of an Email
Heshan Fernando
Co-founder & COO
Most email platforms offer to generate the plain text version automatically. What they usually do is strip the HTML tags, which turns a button reading “Get started” into the words “Get started” with no indication of where it went.
The plain text part isn’t a fallback nobody sees. It affects deliverability, it’s what some clients render by default, and it’s what a portion of your recipients actually prefer.
What a multipart email is
A properly constructed marketing or transactional email is sent as multipart/alternative: the same message in two formats, HTML and plain text, with the client choosing which to display.
Three reasons the text part matters:
Deliverability. Spam filters look at message structure among many signals, and an HTML-only message is one of the patterns associated with bulk mail. A genuine text alternative is part of looking like a normal message.
Client behaviour. Some clients and configurations display the text part by default — corporate environments with images and HTML disabled, some accessibility setups, and people who have deliberately chosen plain text.
Watches and constrained displays. Notification previews frequently pull from the text part.
What tag-stripping loses
Link destinations. The most damaging loss. <a href="https://example.com/guide">Read the guide</a> becomes “Read the guide” — an instruction with no way to follow it.
Structure. Headings become sentences run together with the paragraphs beneath them. Nested lists lose their hierarchy.
Layout tables. HTML email is built with tables, and stripping the markup interleaves cells in whatever order the source happened to be in, which frequently makes no sense.
Emphasis. Bold and italic carried meaning; now they don’t exist.
A good conversion handles each: links written out, headings marked with underlines or capitals, list items prefixed, layout tables understood as layout rather than data.
| Element | Bad conversion | Good conversion |
|---|---|---|
| Button link | “Read the guide” | Read the guide: https://… |
| Heading | Runs into the paragraph | Underlined or spaced |
| List | Items run together | Each on its own line with a marker |
| Layout table | Cells interleaved | Read in visual order |
Line width
The traditional plain text convention is wrapping at around 72 characters, so the message survives being quoted in a reply without ragged re-wrapping.
Modern clients reflow text to the window, which makes hard wrapping less necessary and occasionally worse — a hard-wrapped message on a narrow phone screen wraps twice. Many senders now leave text unwrapped and let the client handle it.
Either is defensible. What isn’t is wrapping at 100 characters, which is too wide for the clients that don’t reflow and pointless for the ones that do.
Common mistakes to avoid
- Letting the platform auto-generate by stripping tags, then never reading the result.
- Omitting link URLs, which makes the text version unusable.
- Writing a completely different message in the text part, which breaks the expectation that they’re alternatives.
- Including tracking-laden URLs in the text version that are hundreds of characters long and wrap badly.
- Forgetting the unsubscribe link, which needs to be in both parts.
How to do it with Plain Text Email Generator
The Plain Text Email Generator converts with the structure preserved.
- Paste the HTML version of the email.
- Choose how links appear — inline URLs read naturally, a numbered list keeps prose clean.
- Set the line width, or leave it unwrapped for modern clients.
- Read the result as a message. If it doesn’t work as one, fix it rather than shipping it.
Other generators are in the tools directory.
Frequently asked questions
Does anyone still read plain text emails?
Some do by preference, some clients render it by default, and screen reader users often prefer it. It also affects deliverability, since a multipart message looks less like bulk mail than HTML-only.
Why 72 characters?
It’s the traditional width that survives quoting without ragged wrapping. Modern clients reflow, so many senders now leave text unwrapped — but 72 remains a safe default.
Can I just strip the tags?
You can, and it produces something unreadable — buttons become bare words with no destination, and layout tables become disconnected fragments.
Final thought
Read the text version once as if it were the only version you received. If you couldn’t act on it, it isn’t finished.