Character limits are everywhere, and they're rarely intuitive. Twitter is 280, but tweets with images feel different. LinkedIn gives you 3,000 characters for posts, but only 220 display before "See more." Meta descriptions can be 160 characters, but Google often ignores them anyway.
Here's a practical reference for the limits that actually matter, and what they mean for how you write.
Social media character limits
Twitter / X
| Element | Limit |
|---|---|
| Tweet | 280 characters |
| Tweet with media | 280 characters (URLs count as 23 characters regardless of length) |
| Twitter Blue / X Premium | Up to 25,000 characters (subscribers only) |
| Bio | 160 characters |
| Display name | 50 characters |
| Username | 15 characters |
Important: Twitter replaces all URLs with a t.co short link of exactly 23 characters, no matter how long or short your URL is. So https://a.co and a 200-character URL both consume 23 characters.
Practical advice: Target 220–240 characters for a tweet so it feels complete without being truncated on mobile preview cards.
| Element | Limit |
|---|---|
| Post | 3,000 characters |
| Post preview (before "See more") | ~220 characters on feed |
| Article title | 150 characters |
| Headline | 220 characters |
| Summary / About | 2,600 characters |
| Comment | 1,250 characters |
Practical advice: Put your hook in the first 150–200 characters of a post — that's what displays before the reader has to click "See more." A wall of text with no break before that threshold will kill engagement.
| Element | Limit |
|---|---|
| Caption | 2,200 characters |
| Caption preview (before "More") | ~125 characters |
| Bio | 150 characters |
| Username | 30 characters |
| Hashtag per post | 30 hashtags |
| Element | Limit |
|---|---|
| Post | 63,206 characters |
| Comment | 8,000 characters |
| Page name | 75 characters |
| Page description | 255 characters |
Bluesky
| Element | Limit |
|---|---|
| Post | 300 characters |
| Bio | 256 characters |
| Display name | 64 characters |
SEO / web metadata limits
These limits are guidelines, not hard rules — search engines use their own rendering logic — but they're widely accepted as practical targets.
Meta title (title tag)
- Character limit: 50–60 characters
- Pixel limit: Google displays roughly 600px width
- Why it matters: Titles truncated with "..." look unprofessional in SERPs. Keep your most important keyword near the start.
<title>URL Encoder / Decoder — Encode & Decode URLs Instantly</title>
Meta description
- Character limit: 150–160 characters (some sources say up to 320 for mobile)
- Pixel limit: ~920px for desktop
- Why it matters: Google frequently rewrites meta descriptions if they don't match the search query. Write a compelling description that accurately summarises the page — Google uses it as a signal even when it doesn't display it verbatim.
<meta name="description" content="Encode or decode URLs and query parameters instantly. Supports encodeURIComponent and encodeURI. Batch mode. All processing in your browser — nothing uploaded.">
Open Graph
| Tag | Recommended length |
|---|---|
og:title |
60–90 characters |
og:description |
120–200 characters |
og:image |
1200 × 630px recommended |
Canonical URL
No character limit — use the full URL. But keep URLs short and descriptive for readability.
Email subject lines
| Client | Approximate display limit |
|---|---|
| Gmail | 70 characters (desktop), 30 characters (mobile preview) |
| Outlook | 73 characters |
| Apple Mail | 65 characters on desktop |
| iOS Mail | ~35 characters in notification |
| Android Mail | ~40 characters in notification |
Practical advice: Write subject lines under 40 characters if mobile opens are a priority. The most important word should be in the first 30 characters. Avoid putting the call-to-action at the end — on small screens, it won't be seen.
Developer contexts
Git commit messages
The conventional commit format specifies:
- Subject line: 50 characters (hard limit recommended by the Git documentation)
- Body: 72 characters per line
Add keyboard shortcut support for tab navigation
This allows users to navigate between the input and
output panels using Tab and Shift+Tab, improving
keyboard accessibility without disrupting screen
reader flow.
Python function names, variable names
PEP 8 recommends no hard limit, but suggests keeping lines under 79 characters for code and 72 for docstrings.
SQL identifiers
| Database | Identifier limit |
|---|---|
| PostgreSQL | 63 characters |
| MySQL | 64 characters |
| SQL Server | 128 characters |
| Oracle | 128 characters (30 in older versions) |
Counting characters while you write
The Word Counter at SnappyTools counts characters, words, and sentences as you type, and shows live character limit indicators for Twitter/X, meta descriptions, LinkedIn posts, email subject lines, and more. Everything runs in the browser — paste your text and check all limits at once.
The rule that beats all the others
Optimise for humans, not limits.
A 280-character tweet that says nothing meaningful is worse than a 200-character tweet with a clear point. The limits above define the envelope — what you put inside it is still up to you.
That said: knowing where the visual truncation happens (the "See more" threshold, the search snippet cutoff, the notification preview) changes how you prioritise information in your writing. Put the hook first, everywhere.
This article was originally published by DEV Community and written by Snappy Tools.
Read original article on DEV Community