Skip to content

Count characters

With spaces and without, plus the byte count your database and your SMS gateway are actually measuring. Emoji count as one character here, because that is what they are.

  • Processed on your device
  • No upload, no waiting
  • No signup, no watermark

0

Characters

what a person sees

0

Without spaces

whitespace excluded

0

Words

any language

0

UTF-8 bytes

what a database counts

Every count, and what uses it

LinesAs an editor numbers them
0
SentencesNot broken by “Dr.” or “etc.”
0
ParagraphsBlocks separated by a blank line
0
Code pointsWhat a regular expression “.” matches
0
UTF-16 unitsWhat string.length reports in JavaScript
0
UTF-8 bytesWhat a VARCHAR limit and HTTP headers measure
0
Reading timeSilently, at 238 words a minute
Speaking timeAloud, at 150 words a minute
Longest wordBy characters, not bytes
Average wordA rough readability signal

Start typing and everything fills in. Try an emoji, or a sentence of Chinese — both are counted the way a person would count them, which most counters get wrong.

How it works

1

Paste or type

The count updates as you go. Nothing is uploaded.

2

Pick the count you need

Characters, characters without spaces, code points or UTF-8 bytes — each is shown, with what uses it.

3

Watch your limit

SEO titles, meta descriptions, SMS segments and a 255-byte field are all tracked against what you have written.

Frequently asked questions

Is my text uploaded?

No. Nothing is uploaded and no request is made — the counting happens inside this page, on your own device, and it keeps working with the network disconnected. That matters more than it looks for text: what people paste into an online counter is unpublished writing, legal drafts, student work and internal documents.

Why are there four different character counts?

Because a "character" has four different meanings and most tools only know one. What YOU see as one character is a grapheme cluster — "é", "🎉" and even "👨‍👩‍👧‍👦" are each one. What JavaScript's string.length reports is UTF-16 code units, where that family emoji is 11. What a regular expression matches is code points, where it is 7. And what a database column or an HTTP header measures is UTF-8 BYTES, where it is 25. All four are shown here, because the one you need depends on who is doing the limiting.

How many characters is an emoji?

One, here — because that is what it is to the person reading it, and it is what a character limit on a modern platform counts. Elsewhere it may be 2, 7 or 11: "👨‍👩‍👧‍👦" is four people joined by three invisible joiner characters, so it is 7 code points and 11 of the units that JavaScript's string.length counts. If a form rejected your text for being too long when it looked short enough, this is usually why, and the byte count on this page will show you the real size.

Why did my 200-character text fail a 255-character database field?

Because the field almost certainly limits BYTES, not characters. In UTF-8, plain English letters take one byte each, but accented letters take two, and Chinese, Japanese, Arabic and emoji take three or four. So 200 characters of Japanese is 600 bytes. The byte count is shown here for exactly this reason — it is the number your database is actually checking.

Why does one emoji cut my SMS limit from 160 to 70?

Because a text message uses a compact 7-bit alphabet that holds 160 characters — and that alphabet has no emoji, no curly quotes and almost no accents. A single character outside it switches the ENTIRE message to Unicode, and the limit drops to 70. A curly apostrophe pasted from Word does it just as easily as an emoji. That is how a short message gets billed as three, and the page tells you the moment it happens.

Does it count spaces?

Both figures are shown at once, so you do not have to choose. Line breaks and tabs count as whitespace too.