{"id":4595,"date":"2017-08-01T00:00:00","date_gmt":"2017-08-01T00:00:00","guid":{"rendered":"https:\/\/www.litmus.com\/blog\/html-tables-in-email-what-could-possibly-go-wrong\/"},"modified":"2022-03-07T06:00:40","modified_gmt":"2022-03-07T11:00:40","slug":"html-tables-in-email-what-could-possibly-go-wrong","status":"publish","type":"post","link":"https:\/\/www.litmus.com\/blog\/html-tables-in-email-what-could-possibly-go-wrong","title":{"rendered":"HTML Tables in Email: What could possibly go wrong?"},"content":{"rendered":"<p>If you\u2019ve been in the email industry for any amount of time, you\u2019ve likely experienced a number of problems with your email campaigns. From missing images to deliverability problems, email marketing is fraught with challenges. Something you may not have considered, though, is what can go wrong with the tables\u2014the actual code\u2014that is at the foundation of your emails.<\/p>\n<p>Unfortunately, there is a lot that can go wrong with HTML tables. Today, we wanted to break down some of the most common problems seen with HTML tables and give you a few tips for ensuring you don\u2019t encounter the same problems in your own emails.<\/p>\n<h2>Why we use tables<\/h2>\n<p>First, a quick refresher on why we use HTML tables for coding emails. As we <a rel=\"noopener\" href=\"https:\/\/litmus.com\/blog\/the-tyranny-of-tables-why-web-and-email-design-are-so-different\">discussed in the past<\/a>, email marketing campaigns require their own special coding considerations. While the web and email are built on the same technologies (HTML and CSS), email applications don\u2019t adhere to the same standards as web browsers. Each email application has its own rendering engine which determines what code is supported and how emails are displayed. The bad news for us is that all of those rendering engines support different HTML tags and CSS properties.<\/p>\n<p>Because of this, we largely can\u2019t use the same coding principles used in web design. To ensure that emails display properly across most email clients, we have to use HTML tables to create the structure of an email campaign.<\/p>\n<p>Although this has been changing recently, especially with Gmail\u2019s <a rel=\"noopener\" href=\"https:\/\/litmus.com\/blog\/gmail-to-support-responsive-email-design\">major update<\/a> last year, some email clients still don\u2019t support a lot of HTML and CSS. The most notable: Microsoft\u2019s Outlook family of email clients, which use Microsoft Word as their rendering engine. Since Outlook is still hugely popular (currently #5 on our <a rel=\"noopener\" target=\"_blank\" href=\"http:\/\/emailclientmarketshare.com\/\">Email Client Market Share<\/a> tracker), email designers still have to use tables in some capacity if they want their campaigns to display properly for subscribers.<\/p>\n<p>And when we have to rely on HTML tables, there are a number of things that can go wrong\u2026<\/p>\n<h2>Making things complicated<\/h2>\n<p>One of the most common problems we see with using tables is overly complex layouts. This is especially true for legacy email templates that haven\u2019t been updated in a few years.<\/p>\n<p>Until somewhat recently, most emails were built with a lot of tables. Tables within tables within tables\u2014a practice known as nesting.<\/p>\n<figure id=\"post-18277 media-18277\" class=\"aligncenter\"><img decoding=\"async\" class=\" shaded alignnone\" src=\"https:\/\/www.litmus.com\/wp-content\/uploads\/2020\/04\/what-could-go-wrong-nesting-1.png\" alt=\"HTML Tables in Email - Nesting tables\" width=\"800\" height=\"800\" \/><figcaption>Nesting tables within tables can only go so far before introducing problems.<\/figcaption><\/figure>\n<p>When you nest multiple tables within another table, you\u2019re likely to introduce problems within your code. It\u2019s very easy to accidentally put a table in the wrong place or paste over an essential HTML tag when shifting things around. And for some clients (looking at you, Lotus Notes), you can see emails render poorly when you nest tables too deeply. It\u2019s for this reason we recommend building emails with a modular approach, something our friend Brian Graves <a rel=\"noopener\" target=\"_blank\" href=\"https:\/\/www.smashingmagazine.com\/2014\/08\/improve-your-email-workflow-with-modular-design\/\">wrote about<\/a>. And try to keep nested tables to a minimum. Nesting tables is nearly unavoidable, but keeping the nesting depth to 4-6 tables max will help avoid any problems.<\/p>\n<p>Similar to complex nesting, overly complex designs can be problematic, too. It\u2019s not uncommon to see multiple column emails, but when you start adding too many columns to an email, you\u2019re setting yourself up for potential failure.<\/p>\n<figure id=\"post-18280 media-18280\" class=\"aligncenter\"><img decoding=\"async\" class=\"alignnone\" src=\"https:\/\/www.litmus.com\/wp-content\/uploads\/2020\/04\/what-could-go-wrong-columns.png\" alt=\"HTML Tables in Email - Cramming too many columns into an email can create problems, too.\" width=\"800\" height=\"611\" \/><figcaption>Cramming too many columns into an email can create problems, too.<\/figcaption><\/figure>\n<p>Some email clients have problems with even basic math. Certain versions of Microsoft Outlook are known to add extra spacing to table columns, breaking email layouts. While you may think that using four table cells set to 25% widths makes sense, Outlook will add extra space to those cells and cause the layout to be wider than 100%. The resulting email will drop some of those cells onto their own row, ruining your well-designed, perfectly-planned email campaign.<\/p>\n<p>Keeping your email layouts simple helps to avoid potential problems with your campaigns and keeps your subscribers happy.<\/p>\n<h2>Missing tags<\/h2>\n<p>Emails typically have a lot of code in them. And most email teams work on very quick, tight schedules. This combination can lead to mistakes that can ruin an email campaign.<\/p>\n<p>As a quick refresher, let\u2019s look at how HTML is written. HTML consists of tags that surround content. In most cases, proper markup requires both an opening and closing tag. Take this HTML table as an example:<\/p>\n<pre><code style=\"background: #333;color: #fff;margin: 20px 0 30px 0\">&lt;table&gt;\n  &lt;tr&gt;\n    &lt;td&gt;\n    &lt;\/td&gt;\n  &lt;\/tr&gt;\n  &lt;tr&gt;\n    &lt;td&gt;\n    &lt;\/td&gt;\n  &lt;\/tr&gt;\n  &lt;tr&gt;\n    &lt;td&gt;\n    &lt;\/td&gt;\n  &lt;\/tr&gt;\n&lt;\/table&gt;<\/code><\/pre>\n<p>You can see that there are three different tags: The table, table row, and table cell. These tags are opened, and then closed (denoted with the \/ symbol).<\/p>\n<p>Although HTML is a forgiving markup language, email clients and their rendering engines often choke when HTML tags are missing. Unfortunately, missing closing tags is an all-too-common problem in emails. Those fast turnaround times can lead to email designers coding too fast and forgetting to close out a table, row, or cell. While this can be fine in some clients, in others it will lead to broken campaigns.<\/p>\n<p>Tools like the <a rel=\"noopener\" target=\"_blank\" href=\"https:\/\/validator.w3.org\/\">W3C Markup Validation Service<\/a> can help identify any missing tags. Missing tags and improperly formed markup are also why we recommend using email templates or tools like <a rel=\"noopener\" href=\"https:\/\/litmus.com\/blog\/litmus-builder-essentials-best-practices-for-creating-html-email-templates-in-builder\">Builder\u2019s Partials and Snippets<\/a> to help create emails. They not only help ensure that your code is well-written and properly tested, but have the added benefit of speeding up your workflow\u2014allowing you to hit those tight deadlines and keep your team happy.<\/p>\n<h2>Missing attributes<\/h2>\n<p>Just like missing tags can cause problems, missing HTML attributes on tables can lead to funky looking designs.<\/p>\n<p>HTML attributes are additional properties that can be set on HTML tags. These properties control things like element widths and heights, alignment, and even spacing. Unexpected spacing around table cells is one of the most common problems you\u2019ll see with HTML tables.<\/p>\n<p>Nearly all email applications (and web browsers) add their own styles to HTML tables. HTML tables are traditionally used to display tabular data and weren\u2019t originally intended for laying out and designing content. Because of this, we need to override the default behavior of browsers and email applications to ensure tables display properly.<\/p>\n<p>By adding in the cellspacing and cellpadding attributes to the table\u2014and setting both to zero\u2014we can be sure no email clients will add extra space to or around any table cells.<\/p>\n<pre><code style=\"background: #333;color: #fff;margin: 20px 0 30px 0\">&lt;table cellpadding=\"0\" cellspacing=\"0\"&gt;\n&lt;\/table&gt;<\/code><\/pre>\n<p>Likewise, if you are encountering problems with table widths or the alignment of table content, you should look to make sure that you didn\u2019t forget the width or align attributes on tables or table cells.<\/p>\n<h2>Learn how to troubleshoot<\/h2>\n<p>Want to learn how to troubleshoot your own email campaigns and avoid any embarrassing problems for your subscribers? Join us at Litmus Live for a full workshop on troubleshooting email like a pro. We\u2019ll go over the most common email pitfalls, their solutions, and the best methods for troubleshooting campaigns.<\/p>\n<div class=\"cta\">\n<table>\n<tbody>\n<tr>\n<td class=\"block-1\"><img decoding=\"async\" class=\"alignnone\" src=\"https:\/\/www.litmus.com\/wp-content\/uploads\/2020\/04\/tedc16-tickets.png\" alt=\"Litmus Live - Register now\" width=\"640\" height=\"742\" \/><\/td>\n<td class=\"block-2\">\n<h2>Get your Litmus Live tickets!<\/h2>\n<p>Register today to celebrate email with us!<\/p>\n<p class=\"zero\"><a class=\"btn medium orange button\" rel=\"noopener\" href=\"https:\/\/litmus.com\/conference\">Register now \u2192<\/a><\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>If you\u2019ve been in the email industry for any amount of time, you\u2019ve likely experienced a number of problems with your email campaigns. From missing images to deliverability problems, email marketing is fraught with challenges. Something you may not have considered, though, is what can go wrong with the tables\u2014the actual code\u2014that is at the foundation of your emails.<\/p>\n","protected":false},"author":3,"featured_media":4596,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"tags":[478,102,168],"blog_category":[53],"class_list":["post-4595","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","tag-design","tag-html","tag-troubleshooting","blog_category-tips-resources"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.5 (Yoast SEO v27.7) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>HTML Tables in Email: What could possibly go wrong? - Litmus<\/title>\n<meta name=\"description\" content=\"If you\u2019ve been in the email industry for any amount of time, you\u2019ve likely experienced a number of problems with your email campaigns. From missing images to deliverability problems, email marketing is fraught with challenges. Something you may not have considered, though, is what can go wrong with the tables\u2014the actual code\u2014that is at the foundation of your emails.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.litmus.com\/blog\/html-tables-in-email-what-could-possibly-go-wrong\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"HTML Tables in Email: What could possibly go wrong?\" \/>\n<meta property=\"og:description\" content=\"If you\u2019ve been in the email industry for any amount of time, you\u2019ve likely experienced a number of problems with your email campaigns. From missing images to deliverability problems, email marketing is fraught with challenges. Something you may not have considered, though, is what can go wrong with the tables\u2014the actual code\u2014that is at the foundation of your emails.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.litmus.com\/blog\/html-tables-in-email-what-could-possibly-go-wrong\" \/>\n<meta property=\"og:site_name\" content=\"Litmus\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/litmusapp\" \/>\n<meta property=\"article:published_time\" content=\"2017-08-01T00:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-03-07T11:00:40+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.litmus.com\/wp-content\/uploads\/2020\/04\/what-can-go-wrong-with-your-tables.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1380\" \/>\n\t<meta property=\"og:image:height\" content=\"724\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@litmusapp\" \/>\n<meta name=\"twitter:site\" content=\"@litmusapp\" \/>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"HTML Tables in Email: What could possibly go wrong? - Litmus","description":"If you\u2019ve been in the email industry for any amount of time, you\u2019ve likely experienced a number of problems with your email campaigns. From missing images to deliverability problems, email marketing is fraught with challenges. Something you may not have considered, though, is what can go wrong with the tables\u2014the actual code\u2014that is at the foundation of your emails.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.litmus.com\/blog\/html-tables-in-email-what-could-possibly-go-wrong","og_locale":"en_US","og_type":"article","og_title":"HTML Tables in Email: What could possibly go wrong?","og_description":"If you\u2019ve been in the email industry for any amount of time, you\u2019ve likely experienced a number of problems with your email campaigns. From missing images to deliverability problems, email marketing is fraught with challenges. Something you may not have considered, though, is what can go wrong with the tables\u2014the actual code\u2014that is at the foundation of your emails.","og_url":"https:\/\/www.litmus.com\/blog\/html-tables-in-email-what-could-possibly-go-wrong","og_site_name":"Litmus","article_publisher":"https:\/\/www.facebook.com\/litmusapp","article_published_time":"2017-08-01T00:00:00+00:00","article_modified_time":"2022-03-07T11:00:40+00:00","og_image":[{"width":1380,"height":724,"url":"https:\/\/www.litmus.com\/wp-content\/uploads\/2020\/04\/what-can-go-wrong-with-your-tables.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_creator":"@litmusapp","twitter_site":"@litmusapp","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.litmus.com\/blog\/html-tables-in-email-what-could-possibly-go-wrong#article","isPartOf":{"@id":"https:\/\/www.litmus.com\/blog\/html-tables-in-email-what-could-possibly-go-wrong"},"author":{"name":"","@id":""},"headline":"HTML Tables in Email: What could possibly go wrong?","datePublished":"2017-08-01T00:00:00+00:00","dateModified":"2022-03-07T11:00:40+00:00","mainEntityOfPage":{"@id":"https:\/\/www.litmus.com\/blog\/html-tables-in-email-what-could-possibly-go-wrong"},"wordCount":1171,"commentCount":0,"publisher":{"@id":"https:\/\/www.litmus.com\/#organization"},"image":{"@id":"https:\/\/www.litmus.com\/blog\/html-tables-in-email-what-could-possibly-go-wrong#primaryimage"},"thumbnailUrl":"https:\/\/www.litmus.com\/wp-content\/uploads\/2020\/04\/what-can-go-wrong-with-your-tables.png","keywords":["Design","HTML","Troubleshooting"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.litmus.com\/blog\/html-tables-in-email-what-could-possibly-go-wrong#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.litmus.com\/blog\/html-tables-in-email-what-could-possibly-go-wrong","url":"https:\/\/www.litmus.com\/blog\/html-tables-in-email-what-could-possibly-go-wrong","name":"HTML Tables in Email: What could possibly go wrong? - Litmus","isPartOf":{"@id":"https:\/\/www.litmus.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.litmus.com\/blog\/html-tables-in-email-what-could-possibly-go-wrong#primaryimage"},"image":{"@id":"https:\/\/www.litmus.com\/blog\/html-tables-in-email-what-could-possibly-go-wrong#primaryimage"},"thumbnailUrl":"https:\/\/www.litmus.com\/wp-content\/uploads\/2020\/04\/what-can-go-wrong-with-your-tables.png","datePublished":"2017-08-01T00:00:00+00:00","dateModified":"2022-03-07T11:00:40+00:00","description":"If you\u2019ve been in the email industry for any amount of time, you\u2019ve likely experienced a number of problems with your email campaigns. From missing images to deliverability problems, email marketing is fraught with challenges. Something you may not have considered, though, is what can go wrong with the tables\u2014the actual code\u2014that is at the foundation of your emails.","breadcrumb":{"@id":"https:\/\/www.litmus.com\/blog\/html-tables-in-email-what-could-possibly-go-wrong#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.litmus.com\/blog\/html-tables-in-email-what-could-possibly-go-wrong"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.litmus.com\/blog\/html-tables-in-email-what-could-possibly-go-wrong#primaryimage","url":"https:\/\/www.litmus.com\/wp-content\/uploads\/2020\/04\/what-can-go-wrong-with-your-tables.png","contentUrl":"https:\/\/www.litmus.com\/wp-content\/uploads\/2020\/04\/what-can-go-wrong-with-your-tables.png","width":1380,"height":724,"caption":"html tables"},{"@type":"BreadcrumbList","@id":"https:\/\/www.litmus.com\/blog\/html-tables-in-email-what-could-possibly-go-wrong#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.litmus.com\/"},{"@type":"ListItem","position":2,"name":"HTML Tables in Email: What could possibly go wrong?"}]},{"@type":"WebSite","@id":"https:\/\/www.litmus.com\/#website","url":"https:\/\/www.litmus.com\/","name":"Litmus","description":"Are you getting the most out of your email marketing?","publisher":{"@id":"https:\/\/www.litmus.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.litmus.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.litmus.com\/#organization","name":"Litmus Software","url":"https:\/\/www.litmus.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.litmus.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.litmus.com\/wp-content\/uploads\/2025\/04\/featured-image.png","contentUrl":"https:\/\/www.litmus.com\/wp-content\/uploads\/2025\/04\/featured-image.png","width":600,"height":314,"caption":"Litmus Software"},"image":{"@id":"https:\/\/www.litmus.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/litmusapp","https:\/\/x.com\/litmusapp"]},{"@type":"Person","@id":""}]}},"acf":[],"_links":{"self":[{"href":"https:\/\/www.litmus.com\/wp-json\/wp\/v2\/posts\/4595","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.litmus.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.litmus.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.litmus.com\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.litmus.com\/wp-json\/wp\/v2\/comments?post=4595"}],"version-history":[{"count":0,"href":"https:\/\/www.litmus.com\/wp-json\/wp\/v2\/posts\/4595\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.litmus.com\/wp-json\/wp\/v2\/media\/4596"}],"wp:attachment":[{"href":"https:\/\/www.litmus.com\/wp-json\/wp\/v2\/media?parent=4595"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.litmus.com\/wp-json\/wp\/v2\/tags?post=4595"},{"taxonomy":"blog_category","embeddable":true,"href":"https:\/\/www.litmus.com\/wp-json\/wp\/v2\/blog_category?post=4595"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}