Precise character count

Character counter

Count characters with spaces and without, see UTF-8 bytes and the letter / digit / punctuation breakdown, and check your text against any limit you set — live as you type. Nothing leaves your browser.

0 characters
0
With spaces
0
Without spaces
0
No whitespace
0
UTF-8 bytes
character limit

Need Twitter, LinkedIn, or meta-tag limits? Use the social media counter.

Breakdown

Letters
0
Digits
0
Punctuation & symbols
0
Whitespace
0
Words
0
Lines
0
UTF-16 code units
0

With spaces, without spaces, and bytes — which do you need?

“Character count” means different things depending on where you are pasting your text, and the gap between the numbers is bigger than most people expect. This tool shows every measure at once so you can pick the one your destination actually enforces.

  • With spaces — every visible character plus spaces, tabs, and line breaks. This is what Twitter/X, LinkedIn, SMS, and virtually every social or form field counts. It is the number to use unless you have a specific reason not to.
  • Without spaces — excludes the regular space character. Some academic and print-layout limits are quoted this way (“2,000 characters excluding spaces”).
  • No whitespace — excludes spaces and tabs and line breaks. Useful when you only care about the printable content, such as a slug or an identifier.
  • UTF-8 bytes — storage size, not visible length. Database columns (VARCHAR(255)), URL length caps, and SMS segment math are measured in bytes. A plain English letter is 1 byte, an accented letter is 2, most CJK characters are 3, and many emoji are 4 or more — so a 100-character bio can blow past a 100-byte field.

The UTF-16 code unit count is the value JavaScript string validators and several platforms enforce internally. For plain text it equals the visible character count, but emoji and other characters outside the Basic Multilingual Plane count as two code units each, which is why a string of ten emoji can register as twenty.

How each character is classified

The breakdown sorts every character into letters, digits, punctuation and symbols, or whitespace using Unicode character properties — so accented letters, non-Latin scripts, and currency or math symbols are categorised correctly rather than lumped in as “other.”

Frequently asked questions

Does a character count include spaces?

It depends on what you are measuring. This tool shows both: with spaces counts every character including spaces, tabs, and line breaks; without spaces excludes them. Twitter, LinkedIn, and most form fields count with spaces, while some academic limits exclude spaces — so the counter shows every variant and you never have to guess.

What is the difference between characters and bytes?

A character is one visible symbol; a byte is one unit of storage. In UTF-8, plain English letters are 1 byte each, but accented letters take 2 bytes, most CJK characters take 3, and many emoji take 4 or more. Database columns and SMS segments are usually measured in bytes, so a 100-character string can exceed a 100-byte field if it contains emoji or non-Latin text.

How are emojis counted?

The main total counts an emoji as one visible character, which matches what people see. The breakdown also reports UTF-16 code units, where most emoji count as 2 and composite emoji such as family or skin-tone variants count for more — that is the number JavaScript-based form validators and several platforms enforce.

Is there a limit to how much text I can paste?

No. There is no maximum. You can paste an entire essay, a chapter, or a single tweet — counting happens instantly in your browser as you type or paste.

Is my text sent to a server?

No. All counting runs locally in your browser. Nothing you type or paste is uploaded or stored. You can open DevTools → Network and confirm there is zero traffic as you type.