How to use the character counter
Paste or type your text. The headline count includes spaces and line breaks, and the panel beside it shows how many characters remain under your limit or how far over you are.
The limit starts at 280. Tap a preset (60, 160, 280 or 500) for a quick drafting length, or type the exact limit from the form or platform you're writing for. Any whole number from 1 to 1,000,000 works.
- Paste or type your text into the editor.
- Pick a preset or enter the exact character limit you need to meet.
- Watch the remaining count and the usage bar as you edit.
- Check the count without spaces, letters, emoji and bytes if your destination counts differently.
- Use the SMS estimate before sending a text message campaign.
Worked example: one sentence and an emoji
The sample text on this page is "Count every visible character, space, symbol, number, and emoji accurately." followed by a space and a waving hand emoji. Here's how each measurement comes out, checked against the tool's own counting rules.
The emoji is what makes the numbers split apart. It looks like one character and counts as one here, but it takes 2 UTF-16 units and 4 UTF-8 bytes. It also forces SMS into Unicode mode, so this 77-character message would be sent as 2 segments. Without the emoji and the space before it, the 75 remaining characters fit in a single GSM-7 text.
| Measurement | Result | What it means |
|---|---|---|
| Characters with spaces | 77 | What a reader sees, spaces included |
| Characters without spaces | 67 | The 10 spaces removed |
| Letters | 61 | Letters only, no punctuation or emoji |
| Punctuation marks | 5 | Four commas and one period |
| Words | 10 | Unicode word segmentation |
| UTF-16 code units | 78 | The emoji uses 2 units |
| UTF-8 bytes | 80 | The emoji uses 4 bytes |
| Remaining under 280 | 203 | 27.5% of the limit used |
| Estimated SMS segments | 2 | Unicode mode, 70 per single text |
Character count with spaces vs without spaces
Most limits you'll meet, from social posts to form fields, count spaces. That's the headline number here. The count without spaces drops every space, tab and line break and keeps letters, numbers, punctuation, symbols and emoji.
Some translation quotes, academic forms and print briefs ask for characters without spaces. When the instructions don't say, assume spaces count. The whitespace panel splits ordinary spaces, line breaks, tabs and other Unicode spaces, which helps when text copied from a spreadsheet or PDF carries hidden characters.
Using it as a letter counter
The Letters result counts only letters, in any alphabet, and ignores digits, punctuation, symbols, spaces and emoji. In the sample sentence that's 61 letters out of 77 characters. The frequency list ranks your most used characters, which is handy for word games, puzzles or checking a name.
One edge case: an accented letter typed as a base letter plus a separate accent mark counts as one character but one letter plus one combining mark. The tool reports combining marks separately so you can spot it.
Character limits on common platforms
These limits come from each platform's own documentation, checked October 2026. Platforms change them, and some count emoji, links or certain scripts differently, so the box you're typing into always has the final say.
| Where | Limit | Counting notes |
|---|---|---|
| X post | 280 | Links count as 23; emoji and CJK characters count as 2 |
| Threads post | 500 | Longer text can go in an attachment of up to 10,000 |
| Instagram caption | 2,200 | Also capped at 30 hashtags and 20 @ tags |
| YouTube video title | 100 | Description limit is 5,000 |
| Google Ads headline | 30 | Descriptions up to 90; CJK characters count as 2 |
| Single SMS text | 160 or 70 | 160 in GSM-7, 70 once any Unicode character appears |
Characters, code points and bytes
A character, in the sense used here, is what Unicode calls an extended grapheme cluster: one thing a reader sees. A flag, a skin-toned emoji or an accented letter can be one character but two or more code points. A family emoji built from three people joined by invisible connector characters is one character, 5 code points, 8 UTF-16 units and 18 UTF-8 bytes.
Use the visible count for writing. Switch to code points, UTF-16 units or UTF-8 bytes only when a database column, API or spec defines its limit that way. Older browsers without Intl.Segmenter fall back to code points, so a joined emoji may count higher there.
How the SMS estimate works
If every character fits the GSM-7 alphabet, one text holds 160 characters and longer messages split into 153-character segments. A single emoji or a character outside that alphabet switches the message to Unicode, where one text holds 70 and each segment of a longer message holds 67.
Some GSM-7 symbols, like €, [ and ], use two units. Carriers and sending services can apply their own rules, so treat the segment count as an estimate and test important messages with your provider.
- Remaining = character limit - character count
- Limit used = character count / limit x 100
- SMS segments (GSM-7) = 1 if 160 or fewer units, otherwise units / 153 rounded up
- SMS segments (Unicode) = 1 if 70 or fewer units, otherwise units / 67 rounded up
Sources
Platform limits were checked against each company's own documentation. The Unicode and W3C pages explain how characters are defined and counted.