Real-time character, word, line, and byte count
A word counter sounds trivial, but the answer depends on what you call a 'word' — and on whether your text contains CJK characters, where 'words' don't have spaces between them.
This counter shows characters (with and without spaces), words (whitespace-delimited tokens), lines, and bytes (UTF-8) all at once, in real time. Useful for fitting copy into a Twitter post, a meta description, or any character-limited field.
Hello world from ToolCozy.Characters: 25
Without spaces: 22
Words: 4
Lines: 1
Bytes (UTF-8): 25你好,世界!Characters: 6
Without spaces: 6
Words: 1 (whitespace-delimited)
Lines: 1
Bytes (UTF-8): 16 (each CJK char ≈ 3 bytes)Tokens separated by whitespace. Punctuation glued to a word counts as part of that word ('hello,' is one word). For CJK text without spaces, the entire run becomes one 'word' — use the character count instead.
UTF-8 encodes ASCII as 1 byte per character but most CJK characters as 3 bytes, and emoji can be 4 bytes (or more for sequences). For length limits that are byte-based (some database columns, certain APIs), the byte count is what matters, not the character count.
Yes — this tool treats the input as plain text. Markdown asterisks, HTML tags, and angle brackets all count toward the totals. If you need rendered-text counts, paste the rendered output instead of the source.
No hard cap, but very large inputs (multi-megabyte) may slow down the per-keystroke recompute. For genuinely huge documents, use a CLI like `wc`.
Twitter / X post: 280 chars (free) or 25,000 (premium). Meta description: 155-160 chars before truncation. SMS: 160 chars (GSM-7) or 70 chars (UCS-2 / non-Latin). Slack message: 40,000 chars. Email subject: keep under 50 chars for mobile.