Count characters, words, lines, sentences, paragraphs, and UTF-8 bytes in real time. Includes platform-specific limits: Twitter/X (280), SMS (160), SEO title (60), and meta description (160).
| Twitter/X (280) | Counts Unicode code points (not UTF-16 code units). URLs count as 23 characters regardless of length (t.co wrapped). CJK characters count as 2. This counter shows raw character count. |
|---|---|
| SMS (160) | Standard GSM-7 encoded SMS maxes at 160 characters. Messages using non-GSM characters (like CJK, emoji) are UCS-2 encoded and limited to 70 chars. Multi-part SMS split at 153 chars (GSM-7) or 67 chars (UCS-2). |
| SEO title (60) | Google's display limit for title tags in SERPs. Titles longer than ~600px (roughly 60 chars) get truncated with "—". Pixel width matters more than character count — W is wider than i. |
| Meta description (160) | Google displays up to ~920px (roughly 155-160 chars) of meta description in search results. Longer descriptions are truncated. In 2026, Google may dynamically generate snippets from page content regardless. |
Four counts, four answers. A character can mean four different things, so this tool reports the three that disagree. Code points are what most languages call characters, and what X counts. Grapheme clusters are what a reader perceives: a family emoji is one cluster, seven code points, eleven UTF-16 units and 25 UTF-8 bytes. UTF-16 units are what "👍".length returns — two, for one visible character — and they matter because that is the number a JavaScript validator reaches for by default.
UTF-8 bytes matter for database storage, API payloads, CSV encoding and column limits. ASCII is 1 byte, Latin-1 supplement 2 bytes, CJK 3 bytes, and emoji or anything above U+FFFF is 4 bytes — which is why a VARCHAR(255) column under utf8mb4 reserves 1,022 bytes rather than 255. See The 191 Problem for the arithmetic.
See also: Markdown Preview · Character Counter · Text Diff Checker · Text to Slug