Character, word and byte counter
Characters, words, lines and bytes. Counted properly: an emoji is one character, whatever your editor says.
Your figures
Result
- Without spaces
- 74
- Words
- 16
- Lines
- 2
- Paragraphs
- 1
- Size in UTF-8 (bytes)
- 89
- Reading time (min)
- 0.1
What we assume
- Counted in your browser. The text is not sent anywhere.
- A character is what a person would call a character: an emoji counts as one, even though it takes two slots in memory.
- Bytes are measured in UTF-8, which is what it actually takes up in a file or a request. An accent takes two.
- A word is any group of characters separated by whitespace. Hyphens do not split.
- Reading time uses 200 words per minute, the usual reference for text on a screen.
How it is calculated
Counting characters looks trivial and is not, because there are three different answers and all of them are right depending on what you are asking.
Characters, units and bytes
JavaScript counts in 16-bit units: to it an emoji is 2 and a flag can be 4. What a person calls a character is something else, and it is what Twitter or SMS limits count. And what it takes on disk is a third number: UTF-8 bytes, where an «á» is two and an emoji four.
You get all three here. The headline is the human one, and if it does not match your editor we tell you why.
What each one is for
Characters are what a meta description or a tweet limit counts.
Bytes are what a database counts in a VARCHAR(255) or a request
size limit: which is why 200 accented characters may not fit in 255 bytes.
An example
The text hello 👋 has 7 characters, but your editor will
probably say 8, and it takes 10 bytes in UTF-8. All three are true: what
changes is the question.
Frequently asked questions
Why does my editor say something else?
Because it counts 16-bit units rather than characters. With ordinary text they agree; with emoji, flags or scripts that use combining marks, they do not. When that happens, we say so.
Which number do I need for a meta description?
Characters. Google measures in pixels rather than characters, but the practical 155-160 character guideline is counted this way.
And for a database field?
Bytes. A VARCHAR(255) in UTF-8 stores 255 bytes, not 255 characters: with accents or emoji, noticeably less text fits than you would think.
How does it count words?
By splitting on whitespace. A hyphenated word counts as one, and attached punctuation does not count separately.
Keep calculating
All tools →- Base64 encoder and decoder Text to Base64 and back again. With real UTF-8, which is where half the home-made implementations fall over.
- URL encoder and decoder For putting text into an address without breaking it. The difference between encoding a value and encoding a whole URL is the bit that usually goes wrong.
- Data size converter Bytes, KB, MB, GB… and KiB, MiB and GiB too. Both systems side by side, which is the only way to see why your 1 TB drive shows 931 GB.
Updated on 2026-09-02. Calculations run in your browser; nothing you type is sent to a server.