Gmail Email Size Limit: Why Emails Over 102KB Get Clipped
Gmail clips any message whose HTML is over 102KB (102,400 bytes), hiding everything after the cut, including the footer, unsubscribe link and open-tracking pixel; minify the HTML, host images instead of base64, and measure the byte size before sending.
No signup · Five clients free, Outlook Classic included · All 21 with an account
The checker needs a computer screen.
A free account opens all 21 clients and keeps your checks for 7 days. Create a free account →
Philippe Kam, founder of Emailens · Published 6 Sep 2026 · Updated 28 Oct 2026
@emailens/engine 0.18.22 · data last changed 10 Nov 2026
Part of the HTML email guide · all guides
Few things in email development are as frustrating as opening a carefully designed newsletter in Gmail only to find your footer missing, replaced by the message: “[Message clipped] View entire message”. Here is why Gmail truncates messages at exactly 102KB, what breaks, and how to keep your emails intact.
What triggers Gmail clipping at 102KB
Gmail clipping occurs whenever the raw HTML code of an email message exceeds 102,400 bytes (exactly 100 KiB / 102.4 KB). When this threshold is crossed, Gmail stops rendering the DOM tree at that exact byte offset and inserts a truncation link prompting the reader to view the full message in a separate window.
Crucially, Gmail measures this cutoff purely on the text payload of the HTML document itself. External assets like images, web fonts, or hosted assets loaded via HTTP URLs do not count toward the 102,400-byte cap. However, inline CSS declarations, HTML comments, embedded SVG strings, and base64 data URIs count directly toward the byte weight.
This is often confused with Google Workspace's 25MB total email transmission limit. While Gmail will happily transmit an email with attachments up to 25MB, its web and mobile rendering engine applies an independent 102KB display limit to the body text. The attachment limits of Gmail, Outlook and Yahoo are in email size limits by provider.
What Gmail clipping breaks: tracking, unsubscribe links, layout
Clipping is not just an aesthetic defect. It silently breaks tracking, deliverability, and legal compliance:
- The open-tracking pixel is never loaded. Most ESPs (Klaviyo, Mailchimp, Customer.io, Resend) place a 1x1 transparent tracking GIF at the very end of the message HTML. When Gmail clips the email, that image tag is never fetched unless the recipient clicks through, causing your analytics to report false non-opens and distorting your email deliverability metrics.
- Mandatory footer and unsubscribe links cut off. CAN-SPAM requires a clear unsubscribe link and the sender's physical address. When Gmail cuts the footer, recipients cannot find the unsubscribe button and hit “Report Spam” instead, directly harming your domain reputation.
- Unclosed HTML tags distorting layouts. Because Gmail chops the byte stream mid-document, closing tags like
</table>,</td>, or</div>are frequently missing, causing unexpected rendering glitches across Gmail's interface and compounding issues in strict table-based engines like Outlook.
What counts toward the 102KB limit (and what doesn't)
| Asset Type | Counts Toward 102KB? | Impact & Recommended Action |
|---|---|---|
| Hosted Images (CDN URLs) | No | Only the URL text length counts (~50-80 bytes). Always host images externally. |
| Base64 Images / Data URIs | Yes (100%) | Avoid entirely. Base64 grows a file by a third: a 20KB icon becomes about 27KB of raw HTML text. |
| Inline CSS Declarations | Yes | Repetitive inline styles add 15-30KB quickly. Follow our CSS inlining guide to optimize. |
| Whitespace & Comments | Yes | Strip during build with a minifier, without visual changes. |
| Forwarded Thread Chains | Yes (Multiplied) | Duplicated email thread headers easily push small templates over the cutoff. |
This is why many developers are surprised when their email is clipped even though “it only has 2 images.” It is never about image file sizes, it is strictly about the character count of the HTML markup itself.
How to get an email under 102KB without cutting content
You rarely need to delete copy or remove sections to beat the 102KB limit. Four structural fixes:
- Minify your compiled HTML. Stripping unnecessary whitespace, tabs, and build-tool comments reduces the byte count without changing the rendered output.
- Replace inline SVGs with hosted PNGs. Complex SVG coordinate paths consume thousands of bytes. Convert icons and decorative graphics to optimized hosted PNG or WebP assets.
- Move the tracking pixel above the footer. If your ESP permits custom tracking placement, placing the 1x1 pixel earlier in the body ensures open rates record even if a long message is clipped.
- Verify payload size before sending. Always measure the raw UTF-8 byte length of your final compiled HTML in your build step or CI check.
Minify and measure the size in your build
If you are using MJML, React Email, or Maizzle, add a post-compilation minification step to your export pipeline:
// Example: Automated HTML minification in your build pipeline
import { minify } from 'html-minifier-terser';
export async function optimizeEmailHtml(rawHtml: string): Promise<string> {
const minified = await minify(rawHtml, {
collapseWhitespace: true,
removeComments: true,
minifyCSS: true,
removeAttributeQuotes: false, // Preserves quotes for Outlook MSO attributes
keepClosingSlash: true,
});
// UTF-8 byte count verification against the 102,400 bytes threshold
const byteLength = new TextEncoder().encode(minified).length;
if (byteLength > 102400) {
console.warn(`Warning: Email is ${byteLength} bytes. Gmail will clip this message.`);
}
return minified;
}Questions
Can recipients disable email clipping in their Gmail account settings?
No. Gmail's 102KB clipping rule is enforced by Google's backend processing and rendering pipeline. There is no user preference, lab feature, or client setting that allows recipients or senders to disable clipping.
Does Gmail clip emails on mobile iPhone and Android apps?
Yes, and possibly sooner. Google publishes no threshold for web or the apps. Klaviyo reports about 102KB on desktop but lower limits on phones, around 75KB on most and as low as about 20KB, applied inconsistently, in Gmail for iOS. Treat 102KB as the ceiling, not the target, and keep heavy emails well under it.
Why do test emails forwarded between team members get clipped?
When an email is forwarded or replied to, email clients (including Gmail and Outlook) prepend the entire previous message body and header metadata. If your template was 60KB, forwarding it appends another 60KB+, easily exceeding 120KB and triggering clipping.
Do hosted CDN images count towards the 102KB Gmail clipping limit?
No. Images loaded via external URLs (e.g., https://cdn.example.com/hero.jpg) do not count towards the 102KB limit. Only the length of the HTML <img> tag and the URL string itself count towards the byte count.
Your next question
Also useful: HTML Email Minifier · CSS Inliner · Gmail CSS support
Paste the email that broke.
No signup · Five clients free, Outlook Classic included · All 21 with an account
The checker needs a computer screen.
Get new email CSS fixes by email, or follow by RSS.