This character counter shows the count people see, where an emoji or an accented letter is one character, next to the hidden units many apps actually measure. Paste your text and set a limit to see how much room is left.
Character counter
CharactersWhat you see, including emoji as one
0
Words
0
Lines
0
Code pointsUnicode characters
0
UTF-16 unitsWhat many apps count
0
UTF-8 bytesStorage size
0
On XOf 280, counted the way X does
0
The counter could not start in this browser.
See why styled text counts differently
The same text has three different lengths depending on what is counted. Characters you see (grapheme clusters) are what a reader perceives. Code points are the Unicode characters underneath. UTF-16 units are how JavaScript and many apps store text, and styled letters and most emoji take two of them each.
๐๐๐๐๐
Characters you see
5
Code points
5
UTF-16 units
10
Styled math letters are outside the Basic Multilingual Plane, so each takes 2 UTF-16 units.
This demo could not load. The table below shows the same counts.
One character you see, counted three ways
Example
Characters you see
Code points
UTF-16 units
A Plain letter
1
1
1
๐ Bold letter
1
1
2
eฬ Accent typed as a mark
1
2
2
๐ฏ๐ต Flag
1
2
4
1๏ธโฃ Keycap
1
3
3
๐จโ๐ฉโ๐งโ๐ฆ Family emoji
1
7
11
Apps choose one of these counts for their limits, and most do not say which. FontBlaze shows all three, and the fit check in the font generator and Name Studio only says a text fits when it fits by every count (the X post preset uses X's own count instead). Even then, fitting a count does not mean an app will accept styled text.
Four ways to count the same text
Text can be measured in several units, and apps do not agree on which one to use.
Unit
What it counts
Example: ๐๐ฝ
Characters (graphemes)
What a reader sees as one character
1
Code points
Individual Unicode characters
2
UTF-16 units
How JavaScript, Java and many apps store text
4
UTF-8 bytes
How text is usually stored in files and sent over networks
8
FontBlaze shows graphemes as the main count because that matches what you see. It uses your browserโs built-in Intl.Segmenter for this, with a tested fallback for older browsers.
Why styled text counts differently
Most styled alphabets, such as ๐๐จ๐ฅ๐ or ๐ข๐ฌ๐ป๐ฒ๐น๐ฝ, are stored outside Unicodeโs Basic Multilingual Plane. Each of those letters is one character and one code point, but two UTF-16 units. A 20 letter bold name can therefore count as 40 in an app that measures UTF-16. Circled and fullwidth letters are inside the Basic Multilingual Plane and count as one unit each.
Combining marks work the other way. Glitch text looks like one character per letter but adds several code points to each one, so its code point and UTF-16 counts climb quickly.
Checking a limit
Enter a number in Limit and pick the unit the app is likely to use. If you do not know the unit, check against UTF-16 units, which is the stricter of the common choices for styled text. The result tells you how much room is left or how far over you are.
Words and lines
Words are counted with the browserโs word segmentation, which understands punctuation and many languages. Lines count every line break, including an empty last line after a final break. Use the Unicode inspector if you need to see exactly which characters are in your text.
Frequently asked questions
Why does an app say my text is longer than this counter?
Many apps count UTF-16 code units, not characters. Most emoji and every bold or script letter use two UTF-16 units, so they can count double. Set the limit unit to UTF-16 to match those apps.
What is a grapheme?
A grapheme, or grapheme cluster, is what a reader sees as one character. A thumbs-up emoji with a skin tone is two code points and four UTF-16 units, but one grapheme.
How does X count my post?
X counts most letters, numbers and punctuation as 1, and most styled letters, emoji and CJK characters as 2. Each link counts as 23, and a post can be up to 280. The On X count follows the rules X publishes, so a post in bold or script letters holds about half as many characters.
Does this counter store my text?
No. Counting happens in your browser and the text is not saved or sent anywhere.