Character Counter
Count characters with and without spaces online. Track Twitter, Instagram, and Facebook character limits. Free tool.
Three steps to get started
Paste your text
Type or paste any text - a tweet, bio, caption, or document.
See character counts
Characters with spaces, without spaces, and word count update instantly.
Check platform limits
Live progress bars show how your text fits Twitter, Instagram, LinkedIn limits.
What is a character counter?
A character counter is a tool that reports the exact number of characters in a block of text, usually split into two figures: the total length including every space, tab and line break, and the length counting only visible non-whitespace characters. It exists because nearly every publishing surface on the internet enforces a hard character ceiling, and exceeding it by even one character causes truncation, a rejected form submission, or an ellipsis in the middle of your call to action.
This counter tracks four things at once as you type:
- Characters with spaces - the total
String.length, the figure almost every platform limit refers to - Characters without spaces - whitespace stripped, the figure translation agencies and typesetters usually bill against
- Word count - whitespace-delimited tokens, for cross-checking against editorial briefs
- Live platform bars - progress indicators that fill and turn red as you approach each service's ceiling
Which character limits actually matter?
The numbers worth memorising: Twitter/X 280 per post, with every URL normalised to 23 characters no matter its real length. Instagramallows 150 in a bio and 2,200 in a caption, but only about the first 125 render before the "more" cutoff - so front-load the hook. LinkedIn gives 220 characters to a headline and roughly 1,300 to a post before truncation. SEO meta descriptions are not measured in characters at all by Google but in pixel width, which is why ~155โ160 characters is a rule of thumb rather than a rule; a description full of wide letters like W and M will clip earlier than one full of i and l.
One gotcha worth understanding: JavaScript strings are sequences of UTF-16 code units, not human-perceived characters. An emoji outside the Basic Multilingual Plane such as ๐ (U+1F600) is stored as a surrogate pair and counts as 2, while a flag emoji or a family emoji built from zero-width joiners can count as 7, 8 or more. Twitter applies its own weighting rules on top of this, so treat emoji-heavy drafts as approximate and test-post if the margin is tight. Accented Latin letters typed as a base letter plus a combining accent also count as two rather than one.
Nothing you type is transmitted anywhere. The count is computed on each keystroke by JavaScript running inside this page, so drafts of unpublished posts, client copy and confidential descriptions stay entirely on your own machine.