Character Counter
Count characters, words, and bytes in real-time.
0
Characters (with spaces)
0
Characters (no spaces)
0
Words
0
Lines
0
Bytes (UTF-8)
0
Sentences
Practical Example
Check length limits for meta descriptions, SMS messages, ad copy, or database fields while you write. For multilingual text and emoji, compare character count and byte count because they may differ significantly.
Practical Use Cases
- SEO metadata writing: keep titles and descriptions within target limits.
- Messaging workflows: fit copy into SMS, push, or chat channel constraints.
- API payload checks: validate UTF-8 byte size before submission.
Common Mistakes
- Checking only character count and forgetting byte-based backend limits.
- Ignoring hidden line breaks that still affect character and byte totals.
- Assuming "no spaces" means only regular spaces; tabs/newlines are removed too.
How to Interpret Metrics
- Characters (with spaces): plain visible length reference.
- Bytes (UTF-8): primary value for storage and transport constraints.
- Sentences: useful for drafting scope and summarization targets.
Character Limits by Platform
The same "character limit" is counted differently across platforms. Here are the limits you are most likely to check against.
| Context | Limit | Counting rule |
|---|---|---|
| X (Twitter) post | 280 chars | CJK characters count as 2 (effectively 140) |
| Instagram caption | 2,200 chars | Character count; up to 30 hashtags |
| Search result title | ~60 chars (Latin) | Pixel-width based, so counts are approximate |
| Meta description | ~155 chars | Longer text is truncated with an ellipsis |
| SMS (GSM-7) | 160 chars | Falls to 70 chars per segment once any Unicode character appears |
| MySQL VARCHAR(255) | 255 chars | Character count in utf8mb4 — up to 1,020 bytes of storage |
Byte-based channels can disagree with the UTF-8 byte count shown here. SMS is the classic case: a single emoji switches the whole message to UCS-2 encoding and cuts the per-segment limit by more than half.
Why Emoji and Combining Characters Break Counts
Some characters look like one glyph but consist of several code points. The family emoji 👨👩👧 is three emoji joined by Zero Width Joiners: JavaScript length reports 8, and UTF-8 needs 18 bytes. Flag emoji are pairs of regional indicators. Platforms disagree on whether these count as one character, so always verify emoji-heavy copy in the target platform's own composer. Unicode normalization matters too — file names typed on macOS may arrive with decomposed Hangul or accented characters (NFD), inflating counts. See the character counting guide for the underlying Unicode mechanics.
FAQ
Why can byte count grow much faster than character count?
UTF-8 uses multiple bytes for many non-ASCII characters such as CJK text and emoji.
How is word count calculated?
Words are split by whitespace. This tool does not run language-specific morphological analysis.
Is my input text uploaded or stored?
No. Counting is performed entirely in your browser.