b2KIT

HTML Email Builder

Visual drag-and-drop email template builder. Add sections, images, buttons, and export clean HTML code.

How to Use HTML Email Builder

  1. 1

    Choose a template

    Start with a blank canvas or select a pre-built email layout.

  2. 2

    Add content blocks

    Drag in headers, text, images, buttons, and dividers.

  3. 3

    Style the email

    Set colors, fonts, padding, and background for each section.

  4. 4

    Export the HTML

    Copy the inline-styled HTML ready for your email platform.

Tested tool guide Tested browser tools Checked August 16, 2026

What HTML Email Builder does, with a checked example

HTML email is the one web format where modern CSS actively hurts you: most clients render through engines that ignore flexbox, grid, and embedded stylesheets. This builder sidesteps that by constructing your newsletter as a fixed 600px table skeleton with inline styles, the only layout that works across Gmail, Apple Mail, and Outlook. You drag in sections, drop in text, images, and buttons, and export a single self-contained HTML file. The surprise is that clean exported email code is deliberately table-heavy; that is a feature, not a defect.

Worked example

A concrete input and expected output from the current implementation.

Input

Assemble one section: heading text "August Update", a paragraph "A summary of what shipped this month.", an image at https://cdn.example.com/august.jpg, and a button labelled "Read the changelog" linking to https://example.com/changelog.

Expected output

<!DOCTYPE html>
<html lang="en">
<head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"></head>
<body style="margin:0;padding:0;background-color:#f2f2f7;">
  <table role="presentation" cellpadding="0" cellspacing="0" border="0" align="center" width="600" style="width:600px;max-width:600px;background-color:#ffffff;font-family:Arial,Helvetica,sans-serif;color:#1c1c1e;">
    <tr><td style="padding:24px 32px;font-size:22px;font-weight:bold;">August Update</td></tr>
    <tr><td style="padding:0 32px 24px 32px;font-size:15px;line-height:22px;">A summary of what shipped this month.</td></tr>
    <tr><td style="padding:0 32px 24px 32px;"><img src="https://cdn.example.com/august.jpg" width="536" alt="August highlights" style="display:block;width:100%;max-width:536px;height:auto;"></td></tr>
    <tr><td style="padding:0 32px 32px 32px;">
      <table role="presentation" cellpadding="0" cellspacing="0" border="0">
        <tr><td style="border-radius:8px;background-color:#007aff;"><a href="https://example.com/changelog" style="display:inline-block;padding:12px 24px;color:#ffffff;text-decoration:none;font-size:16px;">Read the changelog</a></td></tr>
      </table>
    </td></tr>
  </table>
</body>
</html>

The image width of 536px is the 600px canvas minus 64px of horizontal padding (32px per side), so all widths reconcile. Every rule lives in a style attribute or a table cell, which is the fixed-width, inline-style shape clients that ignore embedded stylesheets still render correctly.

How the result is produced

1

Table skeleton generation

Every section you drop becomes rows inside one fixed-width 600px container table. The generator emits role="presentation" tables and inline style attributes because Outlook desktop renders HTML through Word's engine, which ignores CSS grid, flexbox, and most embedded stylesheets. Table cells plus inline styles are the only layout mechanisms that behave consistently across the major clients, so the skeleton is the safety net.

2

Export pipeline

Export flattens every rule into style attributes, resolves images to absolute https URLs, strips scripts and form elements, and writes one self-contained HTML file ready to paste into an ESP's custom-code block or a standalone send. What you get is a snapshot: later canvas edits do not change previously exported files unless you export again.

Good uses

  • Assemble a product-launch or announcement newsletter, then export the HTML to paste into Mailchimp, Constant Contact, or another ESP's custom-code block.
  • Build a reusable monthly template with placeholder copy that a non-technical teammate can edit and re-export without touching the code.
  • Recreate a campaign that arrived as a single flattened image or a modern-CSS design as table-based HTML that actually renders in Outlook desktop.

Limits and checks

  • The canvas preview runs in a modern browser engine and is more forgiving than real inboxes. Dark-mode rendering, Gmail's 102KB truncation, and Outlook desktop's Word engine are not simulated, so the preview is a floor, not a guarantee.
  • Exported HTML points at images by absolute URL. Images added from local files or relative paths produce broken placeholders for recipients; the images must be hosted somewhere reachable, ideally over https.
  • The layout is a fixed 600px canvas with no responsive variant. Gmail scales it down on mobile, but clients without scaling can clip content in narrow panes, and images or padding that exceed 600px overflow the container.

Common questions

Why does the email look different in Outlook than in the preview?

Because Outlook desktop renders HTML with Microsoft Word's engine, which ignores modern CSS: no flexbox, no grid, no background images, and unreliable padding. The table-based export is the standard workaround, not a guarantee of pixel parity. Send a test to yourself in the clients you care about, or run the export through a testing service like Litmus.

Can I add a form or JavaScript to the email?

No. Email clients strip script tags and block interactive forms, so the export intentionally contains neither. If you need signups or surveys, point a button at a hosted form page instead. The same goes for web fonts: exported emails use a plain system font stack because custom fonts fall back inconsistently across clients.

References and verification

The example and behavioral notes were checked against the browser implementation. Standards and primary references below define the relevant format, formula, or platform behavior.

Related Tools