Email guide
Why Gmail clips emails at 102 KB, and how to stay under it
For anyone sending designed HTML emails who has seen "[Message clipped]" at the bottom of one in Gmail. It explains what triggers clipping, what it costs you, and the habits that kept the emails in the welcome series we built comfortably under the limit.
What does [Message clipped] mean in Gmail?
When the HTML code of an email is larger than about 102 KB, Gmail shows the first part and replaces the rest with the words [Message clipped] and a View entire message link. Everything below the cut stays hidden until the reader clicks through.
We couldn't find the figure in Google's own help pages. It comes from email testing companies and email platforms: Litmus, Email on Acid and Mailchimp all cite 102 KB. Email on Acid adds that the exact cut-off isn't perfectly consistent, and recommends staying under 80 KB to be safe.
Why does Gmail clipping matter?
Clipping takes the bottom of your email, and the bottom is where the important housekeeping lives.
- Your footer disappears. The unsubscribe link, business name and contact details usually sit at the very bottom. Email on Acid points out that subscribers who can't find the unsubscribe link are more likely to press the spam button instead.
- Your compliance gets harder to show. Australia's spam rules expect unsubscribe instructions to be presented clearly in every commercial email. An unsubscribe link hidden behind an extra click works against that.
- Your open figures drop. Mailchimp notes that when Gmail clips a message it also clips the code that tracks opens, so clipped emails under-report.
- Your layout can break. Litmus warns that clipping can stop tables and other containers from closing properly.
What counts toward the 102 KB limit?
The limit is about the size of the code, not the pictures. Litmus is explicit that images hosted elsewhere and loaded by their web address don't count. Everything written into the HTML does:
- Inline styles, repeated on every element that needs them
- The style block in the head
- HTML comments and indentation whitespace
- Images embedded as base64 text instead of linked
- Whatever your email platform adds when it sends. Email on Acid notes that the tracking links a platform inserts increase the size of your HTML.
How big should a marketing email be?
Aim well under the limit, not just under it. The seven emails in the welcome series we built for an Australian online jewellery business ranged from about 16 KB to 49 KB of HTML as built, before the platform added its tracking. That was with two-column layouts, photo-heavy sections, and full dark-mode and Outlook support. A complex, well-designed email doesn't need to be anywhere near 102 KB.
The headroom matters because the file you build isn't the file that arrives. Your platform adds tracking to every link, and some add their own markup. Email on Acid also flags a less common trigger: special characters. If a platform doesn't encode the email as UTF-8, characters such as curly quotes and dashes can cause clipping on their own. Writing them as HTML entities avoids the problem.
How to keep email HTML lean
None of this means cutting your content. It means carrying exactly as much code as the design needs and no more.
- Link images, never embed them. Our local preview file had every image embedded as base64 so it would work as a single self-contained file, and it came to about 12 MB. That's fine for a preview on your own computer; an email built the same way would be clipped many times over. The emails themselves link to images hosted by the email platform.
- Keep the style block small. Our main one carried only three things: resets, the dark-mode rules and the mobile layout rules. Everything visual lived inline on the element it applied to, which makes it obvious what each style is for and what can go.
- Remove dead code. Unused classes, old fixes for email app versions you no longer need to support, and formatting pasted in from a word processor all add weight. Litmus suggests pruning outdated fixes and reviewing how your tables are nested.
- Minify carefully. A minifier strips whitespace and comments, but Outlook's conditional comments (the <!--[if mso]> blocks) are working code. Use a tool built for email, or check the Outlook version after minifying.
- Split genuinely long content. For a long newsletter, Mailchimp suggests a Read more link to the full version on your website.
How to check your email's HTML size
Check twice: once when you build the email, and again once it has been sent.
- Check the file size of the final HTML before you upload it. Our build script measures every email and flags any over 102 KB, so a heavy email can't slip through unnoticed.
- Then check the email as sent. In Gmail, the Show original option displays the raw message your platform actually delivered, tracking included, and lets you download it.
- Change the subject line for each test send. Mailchimp's help suggests it, so Gmail doesn't thread your tests together into one conversation.
- Scroll to the bottom of the test in Gmail. If you can see your unsubscribe link and there is no [Message clipped] line, you're fine.
Common questions
- Do images count toward Gmail's 102 KB limit?
- Images hosted elsewhere and loaded by their web address don't. Images embedded directly in the HTML as base64 text do, because they are part of the code.
- Why is my email clipped when the file is under 102 KB?
- Usually because the sent email is bigger than the file you built: your platform has added tracking to the links. Email on Acid also reports that the cut-off isn't perfectly consistent, and that unencoded special characters can trigger clipping. Leave plenty of headroom.
- Can't subscribers just click View entire message?
- They can, but you're asking them to take an extra step to reach your footer and unsubscribe link, and your open tracking may not register. It's better to fix the email.
- What is a safe size for an HTML email?
- Email on Acid recommends staying under 80 KB. The emails in our own welcome series came in between about 16 KB and 49 KB.