Skip to main content
ToolNimbly

Word Counter

Live word, sentence and paragraph counts with reading time and keyword frequency — for any script, not just English.

Runs in your browser. Nothing you enter here is uploaded to a server.

Loading the tool…

Embed the Word Counter

Paste this into any page. The tool runs in place, and the credit line below it links back here.

Appearance

Adjust height if your layout needs it.

Please keep the “Powered by” line. It is the only thing we ask in return, and it is what keeps the tool free to embed.

What this tool does

Paste or type text and the counts update as you go: words, characters with and without spaces, sentences, paragraphs, estimated reading time and speaking time, plus the words that appear most often once common filler words are set aside. Segmentation uses the browser Intl.Segmenter where it is available, so Japanese, Chinese, Thai and Arabic are counted properly rather than being split on spaces that are not there.

How to use this tool

  1. Step 1: Paste or type your text

    Every statistic recalculates as you type. There is nothing to submit and no button to press.

  2. Step 2: Adjust the reading and speaking rates

    Defaults are 200 words a minute for silent reading and 130 for speaking aloud. Change them to match your audience or your own pace.

  3. Step 3: Review the keyword list

    The most frequent words are listed with their counts, after a small stop-word list removes "the", "and" and similar filler.

Worked example

Checking a conference talk against its slot

A 2,600-word draft at the default rates.

Words
2,600
Speaking time at 130 wpm
about 20 minutes
Reading time at 200 wpm
about 13 minutes
Implication for a 25-minute slot
Roughly right, with no room for questions

Speaking time is the number that matters for a talk, and it is substantially longer than reading time. Tools that only report reading time will make a script look far shorter than it is.

How the counts are made

Where the browser supports it, Intl.Segmenter splits the text into words and sentences using Unicode rules. Only segments the standard classes as word-like are counted, so punctuation and whitespace are excluded.

reading time  = words ÷ reading rate (default 200 wpm)
speaking time = words ÷ speaking rate (default 130 wpm)
paragraphs    = blocks separated by one or more blank lines
  • Unicode-aware segmentation is what makes the count correct for languages that do not put spaces between words.
  • Where Intl.Segmenter is unavailable, the tool falls back to a documented regular-expression split and says so, because that fallback is less accurate for those scripts.
  • Unicode segmentation breaks on a hyphen, so "well-known" counts as two words. Most word processors count it as one, which is the usual reason a figure here differs slightly from Word or Google Docs.

Sources and methodology

ToolNimbly performs this work locally in your browser using the method shown above. Read how ToolNimbly tests calculations and generated documents.

Why word counts vary between editors

There is no universal rule for every piece of punctuation. Editors can disagree about hyphenated compounds, apostrophes, emoji, web addresses and languages that do not separate words with spaces. A document application may also count headers, footnotes, comments and text boxes that are absent from copied body text. This tool applies one consistent segmentation rule to exactly what is in the box.

Reading and speaking times are estimates derived from average rates, not measurements of a particular reader. Technical material, unfamiliar names, tables and deliberate pauses slow delivery; simple prose may be much faster. Keyword frequency is descriptive too. A common word is not automatically a good search keyword, and repeating it unnaturally can make writing worse. Use the figures to check a limit or spot patterns, then review the text in context.

Limitations and privacy

What this tool does not do

  • Reading and speaking rates are averages. Dense technical prose is read more slowly than a news article, and presenters vary widely.
  • Sentence detection is rule-based. Abbreviations such as "e.g." and decimal points inside numbers can occasionally be read as sentence endings.
  • The stop-word list is small and English-only. Keyword frequency for other languages will include common function words.
  • Keyword counts are literal string frequencies. There is no stemming, so "run" and "running" count separately.
  • Hyphenated compounds count as two words, following the Unicode rules. Word processors usually count them as one, so a hyphen-heavy document will read slightly longer here than in Word.
  • Very large documents are debounced to keep typing responsive, so the counts may lag a keystroke or two behind.

Your text stays in this page. It is held in memory only, never uploaded, never stored, and cleared when you reset or close the tab.

Frequently asked questions

How is a word defined here?

As a word-like segment under Unicode segmentation rules rather than as anything between two spaces. That is what lets the tool count Japanese, Chinese and Thai correctly, where there are no spaces to split on. The same rules break on a hyphen, so "well-known" counts as two words here and as one in most word processors.

How accurate is the reading time?

It is an estimate from an average rate. Adult silent reading of general prose typically falls between 200 and 250 words a minute, so the default of 200 is slightly conservative. Technical or unfamiliar material can be much slower, and the rate is adjustable for that reason.

Why is speaking time longer than reading time?

Because speech is slower than silent reading — around 130 words a minute for clear, unhurried delivery against roughly 200 for reading. If you are timing a talk or a voiceover, the speaking figure is the one to use.

Does the counter work with languages other than English?

Yes, wherever the browser provides Intl.Segmenter, which covers all current major browsers. Scripts without spaces between words are segmented properly. The keyword stop-word list is English-only, so frequency results in other languages will include common function words.

Is my text sent anywhere for analysis?

No. Every count, including the keyword frequency analysis, runs in your browser. Nothing is uploaded, and no part of your text appears in any analytics event.

Read more about this

Other tools people use alongside the word counter.

  • Character Counter

    Count characters the way people see them and the way software measures them, with UTF-8 byte size, line counts and a character limit tracker.

  • Case Converter

    Convert text to lowercase, UPPERCASE, Sentence case, Title Case, camelCase, PascalCase, snake_case, kebab-case, CONSTANT_CASE or alternating case.

  • UUID Generator

    Generate up to 100 random version 4 UUIDs at once, with optional uppercase, braces or no hyphens. Copy them all or download them as a text file.

  • QR Code Generator

    Create QR codes for links, text, email, phone, SMS and Wi-Fi networks. Download as PNG or SVG. Encoding happens in your browser, not on a server.

Part of Text & Developer Tools. Last reviewed .