Skip to content

Email Footer

The footer is the last row of the main table. Structurally it mirrors the header: a self-contained table with its own height, background, three-column content area, and spacer rows above and below.

email-footer.html
<!-- Footer Content -->
<tr>
<td colspan="99" style="padding:0px;">
<!-- Footer | design -->
<table width="100%" height="100" border="0" cellspacing="0" cellpadding="0">
<!-- Top Border -->
<tr>
<td colspan="99"
style="line-height:5px; height:5px; mso-line-height-rule:exactly; background-color:#E6E6E6;">
&nbsp;
</td>
</tr>
<!-- structure -->
<tr>
<td colspan="99" valign="top" bgcolor="#ffffff">
<table cellpadding="0" cellspacing="0" border="0" width="100%">
<!-- V Spacing -->
<tr>
<td style="line-height:30px; height:30px; mso-line-height-rule:exactly;">&nbsp;</td>
</tr>
<!-- content -->
<tr>
<td align="left"> <!-- left slot --></td>
<td align="center"><!-- center slot --></td>
<td align="right"> <!-- right slot --></td>
</tr>
<!-- V Spacing -->
<tr>
<td style="line-height:30px; height:30px; mso-line-height-rule:exactly;">&nbsp;</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>

The “Top Border” row is the only structural difference from the header. It’s a 5px-tall row with a light gray background that visually separates the footer from the body — drop it if you don’t want the rule, or change the background color to your brand divider.

Unlike the body, the footer does need an explicit height. Email clients vary on how they compute footer height when content is short — pinning the value keeps the design consistent.

<table width="100%" height="100" border="0" cellspacing="0" cellpadding="0">

Set bgcolor="" on the structure cell. Footers often use a darker shade than the body (e.g. #F5F5F5 on a white email, or #0F0F0F on a dark template):

<td colspan="99" valign="top" bgcolor="#F5F5F5">

Same VML pattern as the header background image. Wrap the structure cell with a <v:rect> block inside [if gte mso 9] so Outlook 2007-2019 renders the image:

footer-with-bg-image.html
<!-- Footer | Design -->
<table width="100%" height="120" border="0" cellpadding="0" cellspacing="0">
<tr>
<td background="https://placehold.co/600x120/E0E0E0/E0E0E0" bgcolor="#0F0F0F"
style="background-size: cover;" valign="top" dir="ltr">
<!--[if gte mso 9]>
<v:rect xmlns:v="urn:schemas-microsoft-com:vml" fill="true" stroke="false"
style="mso-width-percent:1000; height:120px;">
<v:fill type="tile" src="https://placehold.co/600x120/E0E0E0/E0E0E0" color="#0F0F0F" />
<v:textbox inset="0,0,0,0">
<![endif]-->
<!-- structure -->
<table cellpadding="0" cellspacing="0" border="0" width="100%">
<!-- content rows -->
</table>
<!--[if gte mso 9]>
</v:textbox>
</v:rect>
<![endif]-->
</td>
</tr>
</table>

Same pattern as the header — first and last rows are spacer rows with mso-line-height-rule:exactly. 30px is a sensible default; bump it to 40-50px on emails with denser footers (multiple legal lines, social icon row, unsubscribe).

Same as the header: three cells with align="left", align="center", align="right". Typical footer layouts:

LayoutLeftCenterRight
StandardBrand mark / addressSocial iconsUnsubscribe link
Centered(empty)Brand mark + social icons + unsubscribe stacked(empty)
Compliance-heavyAddress + company info(empty)Unsubscribe + preferences

Every transactional or marketing footer needs at least three things to clear major mailbox provider filters:

  1. Physical mailing address — CAN-SPAM (US) and similar laws in EU/UK/CA all require a real postal address for commercial mail.
  2. Unsubscribe link — must be functional and one-click in newer Gmail / Yahoo bulk-sender rules. Hashed or unique-per-recipient URLs are fine.
  3. Sender identification — company name + reason recipient is receiving the email (e.g. “You’re receiving this because you signed up at example.com on Mar 12, 2026.”).

For transactional emails (receipts, password resets), unsubscribe isn’t strictly required but is still a deliverability win.

The structure is now complete: a body container with a header row, body row, and footer row. From here, the email is filled with Components — spacing, images, buttons, and text — that drop into the body’s content <td> cells. The production layer (Gmail Clipping, Dark Mode, Preheader, Bulletproof Buttons) covers what to check before send.