The TextKit Character Counter does one thing precisely: it counts characters — with spaces, without spaces, and against the real limits of every major platform. As you type, a row of progress bars shows how close you are to tweet length (280), an SMS (160), a meta title (60), a meta description (155), an Instagram bio (150), and a TikTok bio (80). When you go over, the bar turns red so you know exactly what to trim.
Character limits are platform-specific and surprisingly easy to blow past. This tool is built for the people who live inside those limits: social media managers, SEO specialists writing title tags, SMS marketers, app store optimizers, and anyone filling out a form that truncates silently.
How to use this tool
- Type or paste your text. Anything goes — a tweet draft, a meta title, an Instagram bio. The counters update as you type.
- Check the two summary stats. 'Characters (with spaces)' is your raw length; 'Characters (no spaces)' is what tight character budgets usually measure.
- Watch the platform bars. Each bar shows your text against a real platform limit. Green means you're fine; amber means you're close; red means you're over.
How it works
The counter measures the length of the JavaScript string you've typed. Two numbers matter: the raw string.length (every character, including spaces, newlines, and punctuation) and the length after removing all whitespace. Most platform limits — Twitter's 280, an SMS segment's 160, an Instagram bio's 150 — are measured including spaces.
A few technical caveats worth knowing. Emoji and some Unicode characters (like flags or skin-tone modifiers) are represented as surrogate pairs in JavaScript, so a single visible emoji can count as 2 characters. Twitter and Instagram also count emoji this way, so the numbers usually line up — but if you're working with a lot of emoji and the count feels off, that's why.
The platform limits we ship are current as of 2025: 280 for X posts, 160 for a single GSM-7 SMS segment, 60 for a meta title (Google truncates around 580 pixels, which is roughly 60 characters), and 155 for a meta description. Instagram bios cap at 150and TikTok bios at 80.
Who uses this tool
Trim meta titles to 60 characters and descriptions to 155 so Google shows them in full.
Fit posts inside X's 280-character limit and Instagram bios inside 150.
Keep messages inside a single 160-character segment to avoid per-segment billing.
Stay within App Store and Play Store title and subtitle limits.
Check length before pasting into forms that silently truncate.
Validate string lengths against database column limits or API field constraints.
Examples
Surrogate pairs: one visible emoji = 2 chars.
Google truncates meta titles around 60 characters.
Tips & best practices
- Write meta titles at 55–60 characters — you get the full length shown without risking truncation on narrower displays.
- Instagram bios have a hard 150-character limit; plan for line breaks (each counts as 1 character).
- SMS messages over 160 characters split into multiple segments and bill per segment — keep marketing texts under one segment.
- For X posts, leave 10–15 characters of headroom so people can quote-tweet without truncating your message.
- Emoji and special Unicode characters can count as 2 characters each in JavaScript; platforms usually count them the same way.
- When a form truncates silently, paste into this counter first to see the real length before submitting.
Common mistakes to avoid
- Treating 'meta description limit' as 160 — Google's actual truncation point varies by pixel width and is closer to 155 for safety.
- Assuming emoji count as 1 character — many count as 2 (surrogate pairs) and some (flags, ZWJ sequences) count as more.
- Forgetting that line breaks and spaces count toward Instagram bio limits.
- Counting characters in a desktop word processor and assuming the web form will agree — they usually do, but smart quotes and dashes can differ.
- Ignoring segment boundaries for SMS — going from 160 to 161 characters doubles your per-message cost on some carriers.
“The meta description limit isn't a suggestion — it's the difference between your full pitch showing in search and getting cut off mid-sentence. I write to 150 characters, not 155, to leave room for ellipsis-free display on mobile.”
Frequently asked questions
▸Why does an emoji count as 2 characters?
JavaScript (and most platforms) represent many emoji as surrogate pairs — two 16-bit code units encoding one visible character. Twitter and Instagram count them the same way, so our numbers match theirs.
▸Is the meta title limit 60 or 70 characters?
Google truncates by pixel width (~580px on desktop), which usually maps to around 60 characters for typical titles. Wide letters (W, M) truncate sooner; narrow letters (i, l) later. 60 is the safe target.
▸Does a newline count as a character?
Yes — a line break is one character (\n) or two (\r\n) depending on the source. Instagram bios count line breaks toward the 150-character limit.
▸What's the difference between 'with spaces' and 'no spaces'?
'With spaces' is the raw string length. 'No spaces' removes all whitespace — useful when a tight limit (like a database column) measures only visible characters.
▸Why does my SMS split into two messages at 161 characters?
GSM-7 encoded SMS uses 160 characters per segment. Going one character over splits the message and bills per segment. Unicode emoji force UCS-2 encoding, which drops the limit to 70 characters per segment.
▸Can I use this for App Store and Play Store limits?
Yes. iOS app names cap at 30 characters, subtitles at 30, and descriptions at 4,000. Google Play titles cap at 50 and short descriptions at 80. Use the no-spaces count if you need a tight visible-character count.
▸Does this counter handle right-to-left or CJK text?
Yes. Character counting is language-agnostic; each visible character counts as one (or two for surrogate pairs). CJK characters count as one each in JavaScript string length.
▸Is there a limit to how much text I can paste?
The counter handles tens of thousands of characters comfortably. If you're pasting an entire book, it'll still work, but performance is best for typical writing lengths.
Last reviewed and updated by Muhammad Umair. Have feedback or found an inaccuracy? Let us know.