Skip to content
epitometool

Word & character counter

Text utilities

Count chars, words, lines, paragraphs and reading time.

Updated

Text

Stats

Words
0
Characters
0

with spaces

No spaces
0
Sentences
0
Paragraphs
0
Lines
0
Bytes (UTF-8)
0 B

0 B

Avg word length
0

Reading & speaking time

Reading time
0 sec

Adult silent reading Β· 238 wpm

Speaking time
0 sec

Presentation pace Β· 130 wpm

Top keywords

Add text to see keyword density.

Tip: counts use Intl.Segmenter where available, so emoji and CJK characters are counted as users perceive them.

Quick start

How to count words and characters

Paste your text β€” every metric updates live, with zero data leaving your browser.

  1. Step 1
    Paste your text

    Drop draft copy, an article, a tweet, or any other text into the editor. Counts appear instantly.

  2. Step 2
    Read the stats

    Words, characters, sentences, paragraphs, lines and bytes are all displayed alongside reading and speaking time estimates.

  3. Step 3
    Check keyword density

    Scan the top-10 keyword table to spot accidental repetition or confirm your target terms appear at a sensible rate.

In-depth guide

Word and character counter for writers, students and SEOs

This counter gives you the basic measurements every writer needs β€” words, characters, sentences, paragraphs, lines β€” plus reading time, speaking time and keyword density, all updating live as you type. Everything runs locally in your browser, so the draft of your novel never leaves your machine.

What each number actually measures

  • Words β€” runs of letters and digits, segmented locale-aware via Intl.Segmenter.
  • Characters β€” grapheme clusters, so emoji and combining marks count as one.
  • No-space characters β€” useful for typography and ad-copy fits.
  • Sentences β€” split on ., !, ? followed by whitespace.
  • Paragraphs β€” separated by one or more blank lines.
  • Bytes (UTF-8) β€” the encoded size, which is what API and database limits use.

Common character/word limits

  • Twitter / X post: 280 characters (free); 25 000 for Premium.
  • Meta title: ~60 characters before Google truncates.
  • Meta description: ~155 characters on desktop.
  • LinkedIn post: 3 000 characters.
  • Google Ads headline: 30 characters; description 90.
  • SMS: 160 GSM-7 characters (70 if any Unicode-only char appears).
  • SEO blog post: 1 500-2 500 words for competitive queries.
  • College essay (Common App): 250-650 words.

How reading & speaking time are estimated

Reading time uses 238 words per minute β€” the average adult silent-reading speed from a 2019 meta-analysis of 190 studies (Brysbaert, Journal of Memory and Language). Speed varies with difficulty: simple narrative averages ~260 wpm, technical prose ~180 wpm.

Speaking time uses 130 words per minute β€” a comfortable presentation pace that allows for pauses and emphasis. Conversational speech is faster (~150 wpm); auctioneers hit 300+.

Keyword density: what it tells you (and what it doesn't)

Want to find a specific phrase instead? Use your browser's Find (⌘/Ctrl+F) β€” it's faster than any external tool.

Density = occurrences Γ· total words. The table here shows the top 10 lower-cased tokens, punctuation stripped. It's useful for:

  • Spotting accidental over-repetition that makes prose feel monotonous.
  • Sanity-checking that an article actually mentions its intended topic.
  • Picking variations for synonyms / pronouns to vary the texture.

What it isn't useful for: gaming search engines. Modern ranking factors care about topical completeness, entity coverage and user signals β€” not keyword count.

Frequently asked questions

Does this tool send my text to a server?

No. Counting runs entirely in your browser using JavaScript and the Intl.Segmenter API. You can verify in DevTools β†’ Network: zero requests fire while you type.

How do you count words?

When the browser supports Intl.Segmenter, we use locale-aware word segmentation, which correctly handles non-Latin scripts (Chinese, Japanese, Thai). On older browsers we fall back to splitting on whitespace.

Why is my emoji counted as one character?

We use grapheme-cluster counting, so a family emoji like πŸ‘¨β€πŸ‘©β€πŸ‘§ is one character β€” the same as how you perceive it. JavaScript's `.length` would report 11 because it counts UTF-16 code units, which isn't what most users want.

How is reading time calculated?

Reading time = words Γ· 238 wpm. That's the average adult silent-reading speed from a 2019 meta-analysis published in the Journal of Memory and Language. Speaking time uses 130 wpm, which is a comfortable presentation pace.

What counts as a sentence?

We split on `.`, `!` or `?` followed by whitespace or end-of-text. This works reliably for most prose; it can miscount in technical text full of abbreviations like 'e.g.' or 'Mr.' β€” treat the figure as approximate.

What does keyword density mean?

It's how often a word appears divided by the total number of words. SEO advice used to obsess over keeping target keywords at 1-3%; modern search engines don't reward that, but the metric still helps you spot accidental repetition.

Why are byte counts higher than character counts?

Characters are UTF-8 encoded for transmission. ASCII characters are 1 byte; accented Latin letters 2 bytes; CJK ideographs 3 bytes; most emoji 4 bytes. Tweet limits, database column sizes and API payload caps are typically in bytes, not characters.

Keep exploring

More tools you'll like

Hand-picked utilities that pair well with the one you're on β€” all free, client-side, and zero-signup.