A word count and a character count answer different questions. A tweet, a text message and a search snippet are not limited by how many words you use, they are limited by exact character counts, sometimes counted in ways that surprise people the first time, such as SMS messages splitting into extra segments the moment you cross 160 characters. This character counter is built around those hard limits rather than a general purpose word count.
Everything is calculated in your browser as you type. No text is sent anywhere, so a draft tweet, an unpublished meta description or a private text message stays on your device the entire time you are checking it against these limits.
Reading the limit indicators
Each platform gets its own row showing your current character count, the platform's limit, and how many characters remain or how many you are over. The row turns from its normal state to a warning state the instant your text exceeds the limit, so you do not have to do the subtraction yourself or copy the text elsewhere to check. Used as a twitter character limit checker, it removes the guesswork of counting a draft post by hand before you paste it into the composer.
The limits themselves are based on what each platform actually enforces at the time of writing, and this character counter states the number plainly rather than hiding it behind a vague progress bar, since the exact figure is what determines whether your post gets cut off or rejected.
- Twitter and X posts: 280 characters, counted with spaces and punctuation included.
- SMS message segment: 160 characters for a single GSM 7 bit segment, 153 per segment once a message spans more than one.
- Meta title: roughly 60 characters before Google typically truncates the title in search results.
- Meta description: roughly 155 to 160 characters before the search snippet is cut off with an ellipsis.
- Instagram caption: 2,200 characters, the maximum Instagram accepts on a single post.
Characters with spaces compared to characters without spaces
Characters with spaces counts every character in the text exactly as typed, including spaces, tabs and line breaks. Characters without spaces strips all whitespace before counting, which is the figure some print and academic style guides ask for instead. Most of the platform limits checked by this character counter, including Twitter, SMS and meta descriptions, count characters with spaces, so that is the number to watch first for those cases.
The gap between the two numbers grows with longer, more sparsely punctuated text. A short product name with no spaces will show almost no difference, while a full paragraph can easily show a 15 to 20 percent gap between the two figures, which is worth knowing if you are filling in a field that specifies the stricter of the two counts.
Why SMS segments matter more than the raw limit
A standard SMS message holds 160 characters using the GSM 7 bit alphabet, but the moment your text exceeds that single segment, carriers do not simply reject it, they split it into multiple linked segments of 153 characters each to leave room for the headers that tell a phone how to reassemble them. That means going from 160 to 161 characters can silently double the cost of sending the message and is exactly the kind of boundary a sms character counter needs to flag clearly rather than bury in fine print.
Using any character outside the GSM 7 bit alphabet, such as most emoji or certain accented letters, switches the entire message to UCS 2 encoding, which drops the limit to 70 characters per segment. This character counter checks against the more common 160 character limit, so treat that indicator as the safe case and expect a lower effective limit if your message uses emoji.
Meta titles and meta descriptions in search results
Search engines truncate titles and descriptions based on a pixel width rather than a strict character count, but 60 characters for a title and 155 to 160 characters for a description are reliable practical targets that keep the vast majority of titles and descriptions from being cut off with an ellipsis in typical search results. Used as a meta description length checker, this character counter applies those widely cited character based approximations directly to your draft copy.
Because the cutoff is pixel based, a title made entirely of narrow characters like i and l can run longer than 60 characters and still display fully, while a title full of wide capital letters can truncate earlier. Treat the limit shown here as a strong guideline rather than an exact science, and preview the snippet directly in a search results preview tool when the wording is close to the boundary.
How this character counter works
The tool reads the length of the JavaScript string you have typed for the with spaces count, and applies a whitespace stripping regular expression for the without spaces count. Both numbers, along with every limit comparison, are recalculated in your browser on a short debounce as you type, so the indicators stay current without freezing the page on a long draft.
Because JavaScript strings are encoded in UTF-16, characters outside the common range, including many emoji, occupy two code units rather than one. This character counter accounts for that when counting so an emoji reads as one character the way a person reading the text would count it, rather than as two.
How to use this character counter
- 1
Paste or type your text
Enter the tweet, message, title or caption you are checking. The count updates as you type, no button needed for the live view.
- 2
Pick the platform you care about
Scan the limit indicators for Twitter, SMS, meta title, meta description and Instagram to see which ones your text fits.
- 3
Trim to fit
Edit until the indicator for your target platform shows characters remaining rather than characters over.
- 4
Run the full check
Press count characters to generate a report of every limit at once, then copy or download it for reference.
Related tools worth bookmarking
Sources and further reading
- MDN: String.lengthHow JavaScript measures string length in UTF-16 code units, the basis for the counts this tool reports.developer.mozilla.org
- Google Search Central: Control your snippets in search resultsGoogle's own guidance on how title and description length affects truncation in search results.developers.google.com
- Unicode FAQ: UTF-8, UTF-16 and BOMExplains why some characters, including many emoji, occupy two UTF-16 code units instead of one.unicode.org
Frequently asked questions
Common questions about the character counter.
Yes. The 280 character Twitter and X limit is checked against the characters with spaces count, which matches how the platform itself counts a post. Links are shortened automatically by the platform to a fixed length regardless of the original URL, which this character counter does not simulate, so a post containing a link may have more room than the raw count suggests.
A single SMS segment holds 160 characters under the standard GSM 7 bit alphabet. Once your message exceeds that, carriers split it into multiple 153 character segments to leave room for reassembly headers, and if the message contains an emoji or certain accented characters the limit drops further to 70 characters per segment because the message switches encoding entirely.
No. Search engines truncate based on the pixel width the title occupies in the results page, not a strict character count, so 60 characters is a practical approximation rather than an exact rule. Titles using narrow letters can run a little longer without truncating, while titles full of wide capital letters can truncate a little earlier than 60 characters.
No. Every count and every limit comparison happens locally in your browser using plain JavaScript string operations. Nothing you type is transmitted to a server, logged or stored, so a draft caption, an unreleased headline or a private message stays entirely on your own device.
Emoji and other characters outside the basic multilingual plane are stored as two UTF-16 code units internally, but this character count tool counts them as a single character, matching how a person reading the text would count it rather than how the underlying string representation stores it.
Instagram accepts up to 2,200 characters in a single caption, though only the first two or three lines display before a reader has to tap to expand the rest. This character counter checks the full 2,200 character ceiling, since exceeding it prevents the post from being published at all rather than merely truncating the display.