Favorite places of your favorite city
Home

Character Counter

Paste or type your text to see its length, most frequent words and estimated reading time. Everything is calculated in your browser, including emoji and accented characters.

Analyze your text

Your text is analyzed in this browser only. It is not uploaded, saved, or sent anywhere.

Live results

Characters

0

Characters without whitespace

0

Whitespace

0

Words

0

Reading time

0 min

Estimate at 200 words/min.

Speaking time

0 min

Estimate at 130 words/min.

Sentences

0

Paragraphs

0

Lines

0

UTF-8 size

0 bytes

Word density

The 25 most frequent words, with counts and a share of all words. Uppercase and lowercase forms are grouped; common words and numbers are included.

Add text to see word density.

Character categories

Each non-whitespace grapheme is counted once. The first match wins: emoji sequences, numbers, Latin, Cyrillic, Arabic, Han, Hiragana, Katakana, Hangul, other letters, then punctuation/symbols. Unclassified characters go in “Emoji and other”. Script categories describe writing systems, not spoken languages; Han characters are used in several languages.

Add text to see its character categories.

How to use the counter

  1. Paste or type text into the field.
  2. Check character, word, sentence, paragraph and line totals, then review the reading and speaking estimates. The UTF-8 result shows the text’s encoded size.
  3. Use the category breakdown when you need to understand mixed writing systems.

How the results are counted

Characters are Unicode grapheme clusters: an accented letter or a family emoji can count as one character even when it contains several code points. The total includes whitespace. It measures text characters, not how many glyphs a particular font draws.

Whitespace includes spaces, tabs, non-breaking spaces and Unicode line separators. A CRLF pair counts as one whitespace character and one line break. LF, CR, NEL, and Unicode line and paragraph separators also start a new line. Empty text has zero lines; a final line break adds an empty line.

When available, the browser’s Intl.Segmenter finds word boundaries for the selected language, including languages such as Chinese that do not separate words with spaces. Without it, each continuous run of letters or numbers is one word, allowing combining marks and internal apostrophes. An unspaced Chinese passage is then counted as one run, so word totals can differ between browsers.

UTF-8 size measures the encoded text in bytes. One KB is 1,000 bytes and one KiB is 1,024; one MB is 1,000,000 bytes and one MiB is 1,048,576. Emoji and non-Latin characters often need several bytes even when they count as one character.

In older browsers, the character-count fallback keeps common combining marks, emoji sequences, flags, and Hangul syllables together. It is not a complete replacement for Unicode segmentation: uncommon script-specific combinations may be counted differently. If a browser cannot identify a Unicode category reliably, the character appears under “Emoji and other”.

Sentences follow the browser’s language-aware sentence boundaries when available, or a punctuation-based estimate in older browsers. Abbreviations and unusual punctuation can still affect the result. Blank lines, including lines containing only spaces or tabs, separate paragraphs; a Unicode paragraph separator does too. One ordinary line break stays within the same paragraph.

Reading time uses 200 words per minute and speaking time uses 130, rounded up to whole minutes. These are rough planning estimates, not measurements: language, pauses, content and personal pace all matter, especially for languages such as Chinese.

Word density is a word’s occurrence count divided by the total word count, multiplied by 100. The list shows up to 25 words and includes common words and numbers. Case and equivalent accent encodings are grouped; different word forms remain separate. Percentages use all words, so the displayed entries need not add up to 100%.

Lines count explicit line breaks, including blank lines, rather than the rows created by wrapping text to fit your screen. Seven paragraphs separated by six blank lines have 13 lines if there are no other line breaks.

What this counter is useful for

Use it to prepare social posts, form fields, messages, titles, meta descriptions and short descriptions with a character limit.

Check an assignment or editorial brief against its requested length, then use the sentence and paragraph totals to review the structure. Reading and speaking estimates help plan articles, presentations and voice-over scripts.

Use word density to spot repeated wording before publishing. The character-category breakdown also helps inspect multilingual drafts, while line totals describe the structure of pasted text.

Because everything runs locally, you can check sensitive drafts, application text or unpublished copy without sending it to an online service.

Frequently asked questions

Some counters use JavaScript UTF-16 code units, which can split emoji and combined characters. This tool counts visible Unicode grapheme clusters when the browser supports it.

No. All calculations run in your browser. The page does not upload, persist, log, or transmit the text you enter.

The browser identifies sentence boundaries where supported; older browsers use a punctuation-based estimate. Abbreviations can cause differences. Paragraphs are separated by blank lines, including whitespace-only lines, or by Unicode paragraph separators. A single ordinary line break does not start a new paragraph.

A character is counted as a user-perceived Unicode grapheme when possible. UTF-8 bytes describe the encoded storage size, so one emoji or non-Latin character may use several bytes.

Each percentage is the word’s count divided by all words in the text. Up to 25 words are shown, including common words and numbers, with case and equivalent accent encodings grouped together. The list helps you spot repetition; it does not prescribe a target keyword density.

They are estimates at 200 words per minute for reading and 130 for speaking, rounded up to the next minute. Empty text shows zero. Your pace, language, pauses and subject can change the actual duration.

This counter counts explicit line breaks, including blank lines. Other tools may use different definitions. Compare identical raw text, including spaces and line endings, before comparing totals; screen wrapping does not change this tool’s line count.

More useful tools are on the way.

Browse all tools