Character Counting Guide:Platform Limits That Matter

From Twitter's 280 characters to SMS 160-character segments, every platform enforces limits. Learn the exact limits, why characters and bytes aren't the same thing, and how to write within constraints without sacrificing clarity.

Why Character Counting Matters More Than You Think

Every platform you publish on has limits. Twitter gives you 280 characters per post. SMS messages max out at 160 characters before they split into multiple segments. Google truncates meta descriptions somewhere around 155-160 characters. App Store titles cap at 30 characters. Google Ads headlines limit you to exactly 30 characters per line. If you go over these limits without knowing, your message gets cut off mid-sentence — sometimes in ways that make your brand look careless.

A character counter tells you exactly where you stand before you hit publish. Not just total characters, but the breakdown: letters, digits, spaces, punctuation. Each metric answers a different question. Total characters matches what Twitter and SMS enforce. Characters without spaces helps when you're working with CJK (Chinese, Japanese, Korean) text where spaces don't separate words. The letter-to-digit ratio tells you whether your text is readable or looks like a CAPTCHA. A dedicated counter gives you all of this in real time as you type.

Platform-Specific Character Limits (Updated 2025)

Platform / MediumCharacter LimitWhat Happens If You Exceed
Twitter (X) Post280Cannot post. Twitter prevents sending. X Premium subscribers get up to 25,000 characters.
SMS Message160 (GSM-7 encoding)Message splits into multiple segments. Each segment billed separately. Some carriers concatenate poorly.
Meta Description (SEO)~155-160Google truncates the rest with "…" in search results. Mobile truncation is shorter (around 120 chars).
Title Tag (SEO)50-60Truncated in SERPs. Google measures by pixel width (600px), not characters, but 55 chars is a safe target.
Instagram Caption2,200Truncated after 125 characters in feed with "… more". Users must tap to expand.
Google Ads Headline30 per headlineCannot submit ad. Hard enforcement in Google Ads Editor and web interface.
Google Ads Description90 per lineSame hard enforcement. Ads with truncated descriptions don't run.
App Store Title (iOS)30App Store Connect rejects the submission.
App Store Subtitle (iOS)30Same — hard rejection at submission time.
YouTube Video Title100Truncated in search results and sidebar. Full title visible on watch page only.
Push Notification (iOS/Android)~110-120 (varies)Truncated based on screen width. Most smartphones show 2-3 lines of notification text max.

What Gets Counted as a Character?

This sounds simple but has surprising edge cases. A character is any single code point in the text. Letters (A-Z, a-z, and every letter in every alphabet), digits (0-9), punctuation marks (periods, commas, exclamation marks, question marks, semicolons, colons, apostrophes, quotation marks, parentheses, brackets, hyphens, dashes, ellipses), symbols (@, #, $, %, &, *, +, =, /, \, |, ~, backtick, ^), whitespace (spaces, tabs, line breaks), and emoji all count as one character each. Even an "invisible" character like a zero-width space (U+200B) counts as 1 — and can cause debugging headaches when your 280-character tweet mysteriously exceeds the limit because of invisible characters you copied from a word processor.

The distinction between "with spaces" and "without spaces" matters differently across platforms. Twitter counts every character, including spaces. Most social platforms do the same — a space is a character, full stop. But if you're working with character-dense languages like Chinese where words aren't separated by spaces, the "without spaces" count gives you a more accurate sense of how much actual content you have. A 140-character Chinese tweet can convey significantly more information than a 140-character English tweet.

Letters, Digits, and the Character Mix

Breaking characters down by type reveals information about your text that total count alone hides. If your meta description is 160 characters but 40 of them are digits and symbols, the actual readable content is 120 characters — on the short side. If a product SKU is mostly letters with a few embedded numbers, the letter-to-digit ratio tells you whether it follows your naming convention. For password fields, a balanced mix of letters, digits, and symbols indicates stronger entropy than a string of all letters.

For SEO meta descriptions specifically, every character should earn its place. Filler words ("very", "really", "just", "that") consume characters without adding meaning. A 160-character description with 75% letters and minimal punctuation is efficient. A 160-character description padded with exclamation marks and ALL CAPS screams "spam" to both users and search engines. Use a character counter to audit your copy before it goes live.

Character Count vs. Byte Count

Characters and bytes are different things, and confusing them causes real bugs. In UTF-8 encoding, ASCII characters (basic Latin letters, digits, common punctuation) use 1 byte each. Extended Latin characters (é, ñ, ü) use 2 bytes. CJK characters (中文, 日本語, 한국어) use 3 bytes. Emoji and other supplemental characters use 4 bytes. So "Hello" is 5 characters and 5 bytes. "Héllo" is 5 characters but 6 bytes. "你好" is 2 characters but 6 bytes.

Most platforms count characters, not bytes, for their limits. Twitter's 280-character limit means 280 characters whether they're ASCII or emoji. But database column limits and API payload limits often count bytes. A VARCHAR(255) column in MySQL stores up to 255 characters for ASCII text, but only 85 three-byte CJK characters. If your form validation counts characters but your database counts bytes, users from different locales will hit unexpected errors. This is why you validate at both layers.

Practical Workflow for Character-Constrained Writing

Start by writing your content without worrying about limits. Get your message on the page first. Then check the count. If you're over, cut systematically: remove adverbs ("very", "quickly"), replace phrases with single words ("due to the fact that" → "because"), shorten URLs with a link shortener if the platform counts URLs toward the limit, and delete redundant sentences. If you're well under the limit, add detail, not filler — a specific number, a concrete benefit, a time frame. "Free shipping" is 14 characters. "Free 2-day shipping on orders over $50" is 42 characters and tells readers much more.

Our character counter shows the breakdown in real time — total characters, characters without spaces, letters, digits, spaces, and punctuation. This makes it easy to spot where your characters are going. If punctuation is high relative to letters, your text may be too fragmented. If spaces are high, your copy may be using too many short words where compound sentences would read better. The numbers don't write your copy for you, but they flag problems before your audience sees them.

Character Counting for Localization

English text expands 15-30% when translated into German. It contracts 10-20% when translated into Chinese. If your UI button says "Submit" (6 characters) in English, the German equivalent "Absenden" is 8 characters, and "Einreichen" is 10. The Chinese equivalent "提交" is 2 characters — visually much shorter. UI layouts designed for English text break with longer translations unless you account for this. Character counting during the design phase, not after translation, prevents layout emergencies.

This is especially critical for mobile apps where screen real estate is tight. A navigation label that fits perfectly in English might overflow its container in German or Finnish. Character count your strings during development, test with pseudo-localization (simulated longer strings), and set character budgets per UI element before sending content to translators. This is cheaper than fixing 47 overflow bugs the week before launch.