Helping people with computers... one answer at a time.

HTML email is often used to make email visually appealing. Unfortunately HTML email often does the opposite depending on the recipient's email program.

I'm having a problem with Outlook 2003. When I send an HTML email through Outlook 2003 the email looks great, but when it is received it looks like someone blew it up. All of my layers are either missing or moved. Almost every piece of formatting put into the email is removed. I send one copy of the email to myself and it appeared as good as it was when I sent it.

HTML formatted email can be pretty cool. You can make exceptionally beautiful email, almost works of art even.

And then when you send it there's a very good chance that all that work might simply disappear, and at worst be completely and totally unintelligible to your recipient.

HTML is a standard.

HTML as rendered in different email programs? Not so standard.

The problem is, at its root, very simple: HTML was developed for web pages, and email is not a web page. I'll also put it another way: email programs are not web browsers. Now, that's certainly oversimplifying things, but the problems we see with HTML formatted email all pretty much trace back to that.

HTML is incredibly powerful. And while not strictly HTML, things that you'll find on web pages built in HTML like Javascript, ActiveX, embeddable objects, AJAX and a bunch of other technologies have taken the web to a whole new and incredibly powerful level.

"... email programs are not web browsers."

The question boils down to this: how much HTML must an email program support?

The simple stuff is obvious: formatting like bold and italics, paragraph delineation and the like are useful and, above all, safe concepts.

How about layout things like tables? Or more complex layout options like floating objects, font size changes and the like? The problem here is that not only are these items more difficult for email programs to display, they're also all being abused by spammers. Tables are being used to circumvent simple "banned words" detection; spammers use tiny fonts to overload the email with random text to make it "look like" it isn't spam; floating objects are often used to hide things, or make it look like you're about to click on one thing when you're in fact being taken somewhere else entirely.

HTML is powerful, but with that comes the ability to really mess things up.

So different email programs have opted to support different levels of HTML. Some will support almost all HTML constructs. Some will support only the bare bones simple formatting constructs.

And others don't know what to do with HTML at all, and end up displaying the HTML in it's raw format.

Given the mix of what might be supported and what might not be supported, then add in image blocking which is often turned on by default, it's simply unrealistic to assume you can control the exact appearance of what your recipient sees in email. You can control a few things, and of course you can control the text (which is the point of your email anyway, right?), but if you really want exact, pixel-by-pixel layout or super fancy formatting, then email simply isn't the medium for that message.

So what steps should you take?

  • Don't use HTML. Use plain text. Seriously, getting your email delivered and read is often a classic case of substance over style.

  • Don't use Microsoft Word as your email editor. On top of everything else, Word uses proprietary HTML that will only work if your recipient is also using Word to view their email. Use Outlook's internal HTML editor, or something else entirely.

  • Don't use most WYSIWYG HTML editors to compose email. Unless you're hand-editing the HTML itself, they often create complex and cumbersome HTML.

  • Don't go overboard with formatting. The simpler you can keep it, the greater the chances that your recipients will actually be able to view it.

  • And if you're into HTML directly, use tables, not CSS positioning, don't even think about using stylesheets, and use in-place attributes rather than any kind of in-line style definitions. And that's just a start.

And be prepared for the HTML to be stripped out entirely. Make sure that your message still makes sense should all the formatting and images disappear completely.

Article C3297 - February 20, 2008 « »

Leo Leo A. Notenboom has been playing with computers since he was required to take a programming class in 1976. An 18 year career as a programmer at Microsoft soon followed. After "retiring" in 2001, Leo started Ask Leo! in 2003 as a place for answers to common computer and technical questions. More about Leo.

Not what you needed?

February 22, 2008 11:03 PM

Dear Mr. Notenboom,

Thanks for your essay. Your essays are always clear, useful and informative. I love them.

I agree with you 99% on this essay and your opinion is exactly what I usually say to my friends.

However in some cases I must use HTML only because of the problem of encoding.

Some web-mail services do not support special encoding like Arabic, nor Unicode. And when I write in Arabic using plain text on web-mail system the recipients usually can not read the content.

However when I write in Arabic using HTML style the recipients most probably can read it. I don't know the technical reason but it works!

So sometimes I could not help using HTML style.

Just for your information.

April 4, 2008 4:26 PM

I am sorry, but your answer is an old wife's tail. The simple proof is that if I put the formatted message in a word document and have a friend use it to copy the formated text into a message and send it to me, my email program, outlook has no problem showing it. The problem only shows up with one's own emails. I have received many heavily formatted emails from others without losing any of the formatting. But my own messages lose the most basic formatting when copied to myself. The other receipient has no problem with it regardless of whether he is using Outlook or not.

March 17, 2010 2:18 AM

Most email programs give you the option to sent the emails in html and plain text at the same time. If you feel you need to send html this is a good compromise. Also most emails let you decide whether to sent html or plain text depending on who's receiving it. So if you have a person complain that they can't read your emails go into the address book and set the receiving format to plain text for that person.

Comments on this entry are closed.

If you have a question, start by using the search box up at the top of the page - there's a very good chance that your question has already been answered on Ask Leo!.

If you don't find your answer, head out to to ask your question.