How to Count Characters in Text (2026)
By Rui Barreira · Last updated: 18 June 2026
Character counting is a practical requirement across more contexts than most writers expect: social media posts enforce hard limits, SMS messages split at 160 characters, database columns have defined lengths, and meta descriptions are truncated by search engines beyond a threshold. Use the Character Counter to get an instant count — with and without spaces — alongside word count and line count. Everything runs in your browser with no upload and no data sent anywhere.
What Counts as a Character
A character is any single unit in a string: a letter, digit, punctuation mark, space, newline, or emoji. Most platforms count characters as Unicode code points, but emoji are the exception that trips people up. A single emoji like 🔥 is one visible character but may consume two code points (a surrogate pair in UTF-16), which is how JavaScript and many platforms count it. When a platform uses a character limit, check whether they count Unicode code points or UTF-16 code units — Twitter/X, for example, counts every character including emoji as one unit regardless of surrogate pairs.
Spaces are characters. A 280-character tweet that is 260 letters plus 20 spaces hits the limit at 280, not 260. The "without spaces" count is useful for comparing raw text density, but limit enforcement almost always includes spaces.
Character Limits by Platform and Context
| Platform / Context | Character limit | Notes |
|---|---|---|
| Twitter / X post | 280 | URLs count as 23 regardless of length |
| LinkedIn post | 3,000 | Preview truncates at ~210 before "see more" |
| SMS (GSM-7 encoding) | 160 per segment | Multi-part messages reduce to 153 per segment |
| Google meta description | ~155–160 | Pixel-width based; ~155 is a safe ceiling |
| Google title tag | ~60 | Pixel-width based; truncated in SERPs beyond ~580px |
| Instagram bio | 150 | Hard limit enforced on save |
| PostgreSQL VARCHAR(n) | n (defined per column) | Insert fails if input exceeds the column definition |
Practical Tips for Staying Within Limits
For social media, draft in a plain text editor and paste into the character counter before posting. This avoids the frustration of composing directly in the platform only to discover you are over the limit at submission time. Keep a count target in mind while drafting: a meta description at 120 characters gives you buffer for the search engine's pixel rendering; at 158 you are one word away from truncation.
For database inputs, the relevant limit is the column's defined length, which you can find in your schema. Validating on the client before sending the request prevents a round trip that ends in a constraint violation. If you are designing a schema and are unsure what length to allow, count a representative sample of real inputs first to set a defensible ceiling.
For SMS, remember that non-GSM characters — accented letters, curly quotes, or em-dashes — force the message into UCS-2 encoding, which drops the per-segment limit from 160 to 70. A 140-character message with a single em-dash becomes a two-segment message and doubles your sending cost.
Use the Character Counter to check any text instantly without leaving your browser.
Frequently Asked Questions
- Is this tool free?
- Yes — completely free, no signup required. All processing happens in your browser.
- Does the tool work offline?
- Once loaded, most features work without an internet connection since everything runs client-side.