Character Counter

Count characters, words, lines and bytes in real time. Add an optional limit to see how many characters remain.

🌐 هذه الأداة متوفرة بالعربية

0Characters
0Without Spaces
0Words
0Lines
0UTF-8 Bytes
—Remaining
🔒 Your text is counted locally in your browser.

Count characters instantly

Paste or type text to see live counts for characters, characters without spaces, words, lines and UTF-8 bytes. You can also set an optional character limit.

Character count with a limit

When you enter a limit, the Remaining counter shows how many characters are left. A negative result means the text is over the selected limit.

Characters versus bytes

Character count measures visible text units, while UTF-8 byte count measures the encoded data size. Some characters and emoji use more than one byte.

Check a small example first

The text Hello world has 11 characters including its space, 10 without whitespace, 2 words and 11 UTF-8 bytes. With a limit of 10, Remaining shows -1. Removing the space brings the total to 10 but joins the words.

Why another service may show a different total

A visible emoji can contain multiple Unicode code points. This tool uses browser text segmentation when available, while some services count code points or UTF-16 units. A byte limit is different again. Check the destination's counter before submitting text to a strict field.

Line breaks and other whitespace affect the totals. The limit is a planning aid and does not truncate the text. For an article-length target and estimated reading time, use the Word Counter.

How different characters are counted

This counter counts characters the way you see them on screen, so an emoji or a flag is 1 character. Other systems count the same text in other units, which is why two counters can disagree. These are the exact results for a few examples:

TextThis counterCode pointsUTF-16 unitsUTF-8 bytes
a1111
é1112
مرحبا (Arabic word)55510
كَتَبَ (with diacritics)36612
👍1124
👍🏽 (with skin tone)1248
👨‍👩‍👧 (family)15818
🇯🇴 (flag)1248

Arabic diacritics (tashkeel) attach to the letter before them, so كَتَبَ counts as 3 characters here but 6 code points. SMS uses UTF-16 units: an emoji takes 2 of the 70 units in a Unicode message. X counts each emoji as 2 towards the 280 limit. When a field is strict, check its own counter as well.

How many SMS parts a message needs

A message written only in the basic Latin character set (GSM-7) fits 160 characters, or 153 per part when it is split. One Arabic letter, emoji or other special character switches the whole message to Unicode (UCS-2), which fits 70, or 67 per part.

MessageEncodingParts
200 English charactersGSM-72 (153 + 47)
99 English letters and one 👍UCS-2 (101 units)2
200 Arabic charactersUCS-23 (67 + 67 + 66)

If you pay per SMS part, removing a single emoji from a 100-character English message can halve the cost.

Sources

Frequently Asked Questions

Does the character counter include spaces?

The main Characters count includes spaces. A separate counter shows characters without whitespace.

Can I set a character limit?

Yes. Enter any positive limit and the tool will show the number of characters remaining.

Does it count emoji?

The tool uses browser text segmentation when available so emoji and combined characters are counted more naturally.

Is my text uploaded?

No. The counting happens locally in your browser.

Common character limits

WhereMaximum
X (Twitter) post, standard account280
Instagram caption2,200
LinkedIn post3,000
YouTube title100
SMS, plain Latin text160 per message (153 per part if longer)
SMS with Arabic, emoji or other special characters70 per message (67 per part)

One emoji or Arabic letter switches an SMS to a 2-byte encoding, cutting the limit from 160 to 70. That's also why the UTF-8 byte count here can be larger than the character count. Details are in Character Limits for Social Posts, SMS and SEO Titles.

Related guides

More free tools