Character limits on every platform
A reference for the limits that matter when you're writing for the web — social media, messaging, search engines, email and the rest. Each entry has the number, where it comes from, and the practical tip that goes with it.
Social media
Most social platforms enforce a per-post character cap that has either grown over time (Twitter/X going from 140 to 280 in 2017) or stayed deliberately strict to keep the feed scannable. The current state of the major ones:
| Platform | Surface | Limit |
|---|---|---|
| Twitter / X | Post (free tier) | 280 |
| Twitter / X | Post (Premium tier) | 25,000 |
| Bluesky | Post | 300 |
| Threads | Post | 500 |
| Mastodon | Post (default) | 500 |
| Post | 63,206 | |
| Caption | 2,200 | |
| Hashtags per post | 30 | |
| Post | 3,000 | |
| Headline | 220 | |
| TikTok | Caption | 2,200 |
| YouTube | Title | 100 |
| YouTube | Description | 5,000 |
| Pin description | 500 | |
| Post title | 300 | |
| Post body | 40,000 | |
| Tumblr | Post (effectively unlimited) | ~4,000 |
A practical note: just because a platform allows thousands of characters doesn't mean it shows them. Facebook truncates posts past around 477 characters with a "see more" link; Instagram does the same after roughly 125 characters in the feed. The "limit" is the maximum input — the "visible" length is usually much smaller and is what you should actually optimise for.
Messaging
The 160-character SMS limit is one of the most famous numerical accidents in computing. In 1985 a German engineer working on the GSM standard, Friedhelm Hillebrand, sat at a typewriter and rattled off short messages — questions, queries, complaints — and decided that 160 characters was "perfectly sufficient" for almost anything you'd want to say in a text message. That number was then baked into the protocol and shipped with every GSM phone, and has stayed there ever since.
| Channel | Surface | Limit |
|---|---|---|
| SMS (GSM-7 charset) | One segment | 160 |
| SMS (UCS-2 / unicode) | One segment | 70 |
| SMS (concatenated GSM-7) | One segment in a chain | 153 |
| SMS (concatenated UCS-2) | One segment in a chain | 67 |
| MMS | Text + media payload | ~1,600 |
| iMessage | Effectively unlimited | — |
| Message | 65,536 | |
| Telegram | Message | 4,096 |
| Signal | Message (per chunk) | 2,000 |
| Discord | Message | 2,000 |
| Slack | Message | 40,000 |
Watch the SMS unicode rule carefully: a single emoji, a curly apostrophe (’), an en dash (–) or a non-Latin character switches the whole message from GSM-7 to UCS-2 and your limit drops from 160 to 70. That single character can quietly turn a 1-segment message into a 3-segment message and triple your carrier bill on a bulk send.
SEO — search snippets
Search engines display a title and a description below each result. They don't have a strict character cap — they have a pixel width cap — but most teams treat the pixel width as a rough character count for convenience.
| Element | Where it shows | Safe limit |
|---|---|---|
| Title tag | Google search result (desktop) | ~60 |
| Title tag | Google search result (mobile) | ~50 |
| Meta description | Google search snippet | ~155 |
| Meta description | Bing search snippet | ~160 |
| URL slug | Search result + browser bar | ~75 |
| H1 (recommended) | Page content | ~70 |
| Open Graph title | Social share preview | ~60 |
| Open Graph description | Social share preview | ~110 |
Two practical rules: put the most important keywords near the front of the title and description (Google sometimes truncates mid-sentence), and write your meta description like it's an answer to a question — Google often rewrites it on the fly, and the closer your description is to "what someone is looking for" the more likely it survives intact.
There's no enforced character cap on email subjects in the protocol, but inbox apps truncate aggressively. Mobile inboxes typically show the first 30–40 characters of a subject line; desktop apps a bit more. Sender names get truncated too.
| Element | Visible limit (desktop) | Visible limit (mobile) |
|---|---|---|
| Subject line | ~70 | ~35 |
| Pre-header text | ~100 | ~50 |
| Sender name | ~25 | ~25 |
The pre-header (the text that previews after the subject) is the most under-used real estate in email marketing. Set it explicitly with a hidden <span> at the top of your email body — otherwise the inbox app will use the first words of the email, which is often "View this email in your browser…".
The web in general
| Element | Limit | Source |
|---|---|---|
| URL (recommended max) | 2,048 | Most browsers + Google indexing |
| URL (some old servers) | 8,000 | Default HTTP server limits |
| Filename (most filesystems) | 255 | ext4, NTFS, APFS |
| Domain name | 253 | RFC 1035 |
| Single domain label | 63 | RFC 1035 |
| Email address (theoretical) | 254 | RFC 3696 |
| HTTP cookie | ~4,096 | Per cookie, per host |
Why limits exist at all
Three different forces produce these numbers, and knowing which one is at work helps you decide when to fight it and when to live with it.
Protocol limits — like the 160-character SMS, the 255-character filename or the 63-character domain label — come from the underlying technology. They're baked in and rarely worth working around; if you bump up against one, switching channels or splitting your content is the right answer.
Display limits — like the ~60-character search title or the ~125-character Instagram preview — exist because that's what fits the user's screen. These move over time as devices change and you can write past them, but the visible portion is what readers will judge.
Editorial limits — like Twitter's 280 — exist by design. The platform decided that short was better than long, and that constraint shapes the medium. Working with the constraint (not around it) is usually the right call.
Common questions
Does Twitter still have a 280-character limit?
Yes, on the free tier. Premium subscribers can post up to 25,000 characters, but only the first 280 show in feeds and most replies; the rest is hidden behind "Show more". Most third-party clients still treat 280 as the working limit.
How many SMS messages does my text break into?
If your text contains only GSM-7 characters (basic Latin, no curly quotes, no emoji), each SMS segment is 160 characters when sent alone, or 153 each when chained. With any unicode character — emoji, smart quotes, accented letters that fall outside GSM-7 — the segments drop to 70 / 67 each. count. shows the unicode-vs-GSM-7 split as you type.
What's the right length for an SEO meta description in 2026?
Aim for 140–155 characters. Google's actual limit fluctuates and is measured in pixels, not characters, but 155 keeps you safe on virtually every result page. Front-load the keywords and the value proposition; that part survives even if Google trims the tail.
Why are some characters 2 bytes instead of 1?
The basic Latin alphabet plus a handful of symbols was encoded in early standards (ASCII, GSM-7) as a single byte each. Anything outside that — emoji, Chinese characters, the curly apostrophe — needs two or more bytes in modern encodings (UTF-8, UCS-2). For limits that measure bytes (mostly SMS, some filename rules) this matters; for limits that measure characters (Twitter, search) it doesn't.
Are there platforms with no limit at all?
Practically, no. Even systems that advertise "no limit" (Tumblr, some forum platforms) have a database-imposed ceiling somewhere — usually 64 KB or 1 MB. You'll never hit them with a normal piece of writing, but they exist.