Ever noticed an email cut off at the bottom, with “[Message clipped]” and a “View entire message” link where the rest should be?
That’s inbox clipping. You’ll see it most often in Gmail, which is why it also gets called Gmail clipping or email clipping.
Here’s what actually causes clipping, which of the usual advice is wrong, and how to keep your messages under the limit.
What Is Email Clipping?
Email clipping is when a mail provider cuts off part of your message and hides the rest behind a link.
It happens because the message exceeded a size limit, so the provider truncates it to keep the inbox fast. Crucially, this is about the message’s file size, not how long the email reads.
Clipping can also hide your unsubscribe link, which makes recipients more likely to hit the spam button instead. Adding a List-Unsubscribe header gives them a one-click alternative that can’t get truncated, and it keeps your spam complaint rate down.
Why Inbox Clipping Is a Problem for Email Senders
Clipping is an annoyance in marketing email. In transactional email it causes real failures.
Order confirmations, shipping updates, and account notices get truncated, so customers miss information they need. That’s a worse customer experience than sending nothing, because they think they have the full message.
Password reset links and one-time codes are the worst case. If the link falls below the cut, the email has failed at its only job.
Then there’s the ripple effect. Customers who can’t find their order details contact support, which means more tickets and slower resolution, all from a truncated email.
What makes it especially awkward is that clipping is silent on your side. Your sending logs show the message delivered, because it was. Nothing in your analytics indicates that the bottom third went unread, so the problem can persist for months before anyone connects it to a rise in support tickets.
What Counts Toward Gmail’s 102KB Limit
Gmail clips messages larger than roughly 102KB. Treat that as approximate rather than exact, since senders report clipping a little under 100KB. Aiming to stay below 90KB gives you a margin.
This is where most advice on clipping goes wrong. The limit applies to your message source, which is essentially the HTML plus headers. It does not include the image files themselves.
| Counts toward the limit | Does not count |
|---|---|
| HTML markup, especially nested tables | Hosted image file sizes |
| Inline CSS repeated on every element | Image dimensions or resolution |
| Image URLs and tracking parameters | How long the email reads |
| HTML comments left in by builders | Attachments hosted elsewhere and linked |
| Non-ASCII characters, 2 to 4 bytes each | Anything loaded after the email opens |
| Base64-embedded images, if you inline them |
So compressing a hosted image will not stop your email from being clipped. The image loads from a server, and only the URL pointing at it counts. Trimming your HTML is what actually works.
Causes of Clipped Messages In Gmail
Three things push a message over the line, and the first is not the one most guides name.
HTML and Code Bloat
Bloated markup is the most common cause. Email builders and page-builder plugins generate deeply nested tables, repeat inline styles on every cell, and leave HTML comments behind.
None of that changes how the email looks. All of it counts toward your 102KB. A template that renders identically can easily be twice the size it needs to be.
Images still matter, but indirectly. Each one adds an <img> tag, a long URL and often tracking parameters. Twenty images mean twenty URLs, and that adds up. The pixels themselves don’t.
Here’s what bloat looks like in practice. A builder might output this for a single line of text:
<table cellpadding="0" cellspacing="0"><tr>
<td style="font-family:Arial,Helvetica,sans-serif;font-size:14px;color:#333333;line-height:1.5;padding:0;margin:0;">
<table cellpadding="0" cellspacing="0"><tr>
<td style="font-family:Arial,Helvetica,sans-serif;font-size:14px;color:#333333;line-height:1.5;padding:0;margin:0;">
<!-- begin content row -->
Your order has shipped.
<!-- end content row -->
</td>
</tr></table>
</td>
</tr></table>
The same output, written leanly:
<table cellpadding="0" cellspacing="0"><tr>
<td style="font:14px/1.5 Arial,sans-serif;color:#333;">
Your order has shipped.
</td>
</tr></table>
Identical in the inbox, roughly a fifth of the bytes. Multiply that across every row of a long template, and you can see how a short-looking email crosses 102KB.
Non-ASCII Characters
Special characters are a less obvious contributor. Standard characters (A to Z, a to z, 0 to 9 and basic punctuation) take 1 byte each in UTF-8. Accented letters, symbols and emoji take 2 to 4.
A few concrete comparisons:
- An ASCII smiley
:-)uses 3 bytes, one per character - An emoji smiley 😊 uses 4 bytes
- The word
cafeuses 4 bytes - The same word as
caféuses 5 bytes, becauseétakes two - A heart ❤ uses 3 bytes, and ❤️ with its invisible variation selector uses 6
That last one is worth knowing. Many emoji carry hidden modifier characters, so what looks like a single symbol can cost twice what you’d expect.
One emoji in a subject line is irrelevant. Hundreds of accented characters in a long template are not.
Repeated Subject Lines and Conversation View
Gmail groups messages sharing a subject line into a single conversation. If the whole thread grows too large, Gmail clips it.
This rarely bites in production, but it catches people testing. Send the same test subject twenty times and the later ones end up collapsed under the trimmed section.
For testing, turn off conversation view. In Gmail, click the cog icon, choose See all settings, then find Conversation view under the General tab.
How To Check Your Email’s Real Size
Guessing doesn’t work. Measure it.
Check the sent message. Send yourself a test, open it in Gmail, click the three-dot menu and choose Download message. Then check the file size of the downloaded .eml.
One caveat on that method. The .eml includes headers and transfer encoding, so it reads slightly larger than your HTML alone. That’s fine, because it’s closer to what Gmail is measuring than your source file is.
Check the HTML before you send. Save your rendered template as a .html file and look at its size. This is the number you can actually act on, since it’s the part you control.
Read the numbers like this:
- Under 90KB, you have margin and won’t be clipped
- 90KB to 102KB, you’re in the danger zone and small additions will tip you over
- Over 102KB, expect Gmail to clip and hide content behind a link
How To Avoid Inbox Clipping
The goal is to keep your message comfortably under the limit. In rough order of how much they help:
- Cut the markup first. Flatten nested tables, strip HTML comments, and remove styles that don’t change the rendering. This is where the bytes are.
- Consolidate repeated inline CSS. The same declaration on 200 cells is 200 copies of it.
- Shorten your URLs. Long tracking parameters on every link add up fast.
- Link out instead of including everything. Lead with a preview and a “read more” link rather than pasting a whole article.
- Be deliberate with emoji and accented text in long templates.
- Audit generated templates. If a plugin builds your transactional email, check what it actually outputs.
Our guide to transactional email design covers keeping templates lean while still looking right, and our email testing best practices cover building a repeatable check before you send.
Seeing “Message Clipped” as a Recipient?
If you’re the one reading a clipped email rather than sending it, the short answer is that nothing has been lost.
Click View entire message, and Gmail opens the full version in a new tab. The content was always there. Gmail just declined to render all of it inline to keep your inbox fast.
You can’t prevent it on your end either, because it depends on how the sender constructed the message. Turning conversation view off sometimes helps when the culprit is a long thread rather than a single large email.
One thing worth knowing: a clipped marketing email may have hidden its unsubscribe link below the cut. If you want off the list, open the full message first, or check your email client for a built-in unsubscribe option in the header.
Frequently Asked Questions
These are answers to some of the common questions we see about email inbox clipping.
What does “Message clipped” mean in Gmail?
It means the email exceeded Gmail’s size limit, so Gmail truncated it and placed the rest behind a “View entire message” link. Nothing has been lost, but the reader has to click to see it.
What size does Gmail clip emails at?
Around 102KB of message source. Treat it as approximate, since clipping is reported a little below 100KB, and aim to stay under 90KB.
Do image file sizes count toward the clipping limit?
No. Hosted images load from a server after the email opens, so their file size is irrelevant. Only the HTML referencing them counts, including the image URL.
Why is my email clipped when it looks short?
Because clipping is about file size, not visible length. A short email built from bloated markup with heavy inline CSS can exceed the limit while a long plain-text email never gets close.
Does clipping hurt deliverability?
Not directly. The indirect risk is real though: a clipped unsubscribe link pushes recipients toward the spam button, and complaints do affect your sender reputation.
Can I stop Gmail clipping my emails completely?
Yes, by keeping every message under the limit. Clipping is a size threshold, not a judgement about your content, so staying below it avoids it entirely.
That’s it! Now you know what inbox clipping is and how to prevent it.
Next, would you like to learn how to improve your email security? Check out our full guide to email security for some best practices and useful tips.
