Why your Gmail signature is being cut off (the 10,000 character limit explained)
Gmail silently truncates email signatures over 10,000 characters. Here's how the limit really works, why your signature blew past it, and how to slim the HTML down without losing the design.
The MailSigCraft Team
MailSigCraft
You designed a clean signature, pasted it into Gmail, and Gmail either refused to save it ("This signature is too long") or — worse — saved a truncated copy that quietly dropped the last social icon, logo, or disclaimer. This is the 10,000-character limit, and the frustrating part is that the limit applies to HTML characters, not visible text. A signature that looks like one short line can easily blow past it.
10,000HTML characters — Gmail's hard cap on signature size
This post explains exactly what counts toward the 10K budget, the three things that almost always push you over it, and how to slim the HTML down without losing the design.
The actual limit: 10,000 HTML characters, not text
When Gmail says "10,000 characters," it means 10,000 characters of the raw HTML stored on Google's servers — not the visible text length. A signature that reads "Jane Doe — CEO, Acme Inc" can balloon to 6,000+ characters of HTML once you add a logo, social icons, formatting, and inline styles.
Two things make this worse than it sounds
Gmail doesn't always warn you when truncation happens. If your HTML is just over 10K, Gmail sometimes accepts it and cuts the tail silently. You won't notice until a recipient screenshots their copy of your email and the bottom of your signature is missing.
The limit is per signature, but it competes with replies. Workspace admins who push signatures via the Admin SDK have hit cases where appended disclaimers stack on top of the user's, and the combined HTML exceeds the field's storage on save.
Why your signature hit the limit
Three culprits, in order.
Base64-encoded images
This is the #1 reason. A single 5KB logo encoded inline takes up roughly 6,800 characters of HTML on its own. Two icons plus a logo and you've spent most of your budget before the text starts.
Fix
Host images on a CDN and use <img src="https://..."> instead of data:image/png;base64,.... That one change typically cuts a signature's HTML size by 80%. The MailSigCraft editor does this for every image you upload by default.
Verbose inline styles
Email HTML needs inline CSS (no <style> blocks), but most signature generators are sloppy about it — every <td> carries the same 200-character style="font-family: ...; font-size: ...; line-height: ...; color: ...; padding: ...;" block, repeated across 20+ cells.
Fix
Consolidate common styles onto parent cells, use shorthand properties (font: 14px/1.4 Arial beats two separate declarations), and strip whitespace from the rendered HTML. A well-inlined signature uses 30–40% less CSS than a generated one.
Tracked-link query strings
Some signature tools append ?utm_source=email&utm_medium=signature&utm_campaign=q2-launch to every social link. Across six social platforms, that's 600+ characters of pure overhead.
Fix
Use shorter UTM params (?u=sig) or move tracking to a server-side redirect — that's exactly what MailSigCraft's click-tracking does, swapping every long link for a short /go/... URL.
How to check your signature's HTML weight before pasting
Before you paste into Gmail, check the size yourself
Click Copy HTML (the option labeled "Copy HTML," not "Copy Signature").
Paste the HTML into any character counter, or in your browser's DevTools console run copy(prompt('paste:')) and check the length.
Aim for 8,000 to have headroom
Anything under 8,000 leaves headroom. 8,000–10,000 will work but is risky. Over 10,000 will be rejected or truncated. The 10K ceiling hasn't moved in years, so designing to an 8,000 cap gives you a 20% safety margin against future shrinkage or admin-injected disclaimers.
How to slim a signature without losing the design
In priority order
Switch every image from base64 to a hosted URL. This alone solves most "too long" errors.
Drop logos that don't earn their pixels. A 200×200 logo displayed at 32px is wasting 3× the bytes it needs. Re-export at 2× the display size (so 64×64 for a 32px logo) and the file shrinks proportionally.
Cut social icons you don't actually need. Each icon costs roughly 800 characters of HTML. Six icons = 4,800 characters; three icons = 2,400. Pick the channels that matter for inbound replies, not every account you've ever opened.
The reliable workflow
If you keep hitting the limit
Build the signature in the MailSigCraft editor — CDN-hosted images and minified output by default.
Copy with Copy Signature (rich clipboard, not raw HTML).
Paste into Gmail's signature field.
If you still get "too long," remove one social icon or shrink your logo and re-paste.
The 10K limit is rarely the real problem — image weight is. Switch images to hosted URLs, drop the icons you don't need, and you'll never see "This signature is too long" again.
Shorten link tracking. Replace verbose UTM params with a short redirect, or drop UTM entirely if you're not measuring signature click-through.
Strip whitespace from the HTML. Indented, human-readable HTML is 10–20% larger than minified HTML and renders identically. MailSigCraft minifies on copy automatically.
When image001.png arrives instead of the rendered logo.