Text analyzer

Word frequency, keyword density, reading time and Flesch scores for any text.

Typical: about 240 silent reading, 130 to 160 speaking.

Counts

Paste a text to see its statistics.

What this tool does

Paste a text and it tells you what is in it: how many words, different words, characters, sentences and paragraphs; how long it takes to read silently and to say aloud; which words and phrases come up most often and what share of the text they take (keyword density); the longest words; and, for English, the Flesch Reading Ease score and Flesch-Kincaid grade. Vietnamese gets its own view, because Vietnamese counts work differently (see below). You can copy or download the frequency table as CSV. The text is analysed on this page and never sent anywhere.

How the numbers are counted

  • Words are runs of letters or digits; an apostrophe or hyphen inside a word keeps it whole ("don't", "e-mail"). Case is ignored for frequencies, so "The" and "the" are one word.
  • Characters, sentences and paragraphs use the same counters as the text toolkit: characters are what you see (an emoji or an accented letter counts once), a sentence ends with . ! ? or …, and paragraphs are separated by a blank line.
  • Reading time is words divided by your reading speed; the default 238 words a minute is the average silent reading rate for non-fiction found in a 2019 review of 190 studies by Marc Brysbaert. Speaking time defaults to 150 words a minute; presentations usually run 130 to 160. Change either to match your own pace.
  • Frequency counts single words or two- and three-word phrases (n-grams). With stop words left out, a phrase that starts or ends with a function word ("the", "of", "và", "de", "yang") is skipped, so "of the" disappears but "state of the art" stays.
  • Keyword density = count × words in the phrase ÷ all words × 100. For single words that is the usual "occurrences per hundred words"; for a two-word phrase that appears 3 times in 200 words it is 3 × 2 ÷ 200 = 3%, the share of the text that phrase occupies.

Readability scores, and their limits

Flesch Reading Ease = 206.835 − 1.015 × (words ÷ sentences) − 84.6 × (syllables ÷ words). Higher is easier: 60 to 70 is plain English, below 30 is very difficult academic prose. The Flesch-Kincaid grade = 0.39 × (words ÷ sentences) + 11.8 × (syllables ÷ words) − 15.59 and reads as a US school grade. For "The cat sat on the mat. It was happy." (9 words, 2 sentences, 10 syllables) the score is 108.3 and the grade −0.7: extremely easy.

Three honest limits:

  1. Syllables are estimated from spelling. English spelling does not mark syllables, so the tool counts vowel groups and removes usually silent endings ("make", "baked"). In tests against dictionary counts it is right for about 9 words in 10; it misses words like "idea", "science" and "created". Over a paragraph these errors largely cancel, but a short text can be off.
  2. The formulas only see length. A short sentence of common words scores well even if it is wrong, rude or confusing. Treat the score as a prompt to look for long sentences, not as a grade of quality.
  3. They are for English. The constants were fitted to English readers. Other languages have different word and syllable lengths, so the tool shows no Flesch score for them rather than a misleading one.

Vietnamese: syllables, not words

Vietnamese writes every syllable as its own space-separated unit, and a word can be one syllable ("nhà") or several ("thành phố", "máy tính xách tay"). Every word counter that splits on spaces, including this one, therefore counts syllables for Vietnamese. The Vietnamese view says so, shows syllables and different syllables, and lists the most frequent two-syllable pairs, which are usually compound words. Proper word segmentation needs a dictionary and a statistical model; this tool does not pretend to do it. For accents and Telex/VNI conversion see the Vietnamese text tools.

Using it well

  • For SEO, a keyword density over about 3% usually reads as repetitive; write for the reader and use the table to spot accidental repetition.
  • Turn stop words back on to see how much of a text is function words; a very low share often means a list of keywords rather than prose.
  • Use three-word phrases to find your own verbal habits ("it is important", "in order to").
  • Need filler text to test a layout? Use the Lorem ipsum generator. What the numbers can and cannot tell you is discussed in the article on word frequency and readability.

Frequently asked questions

Why does my word count differ from Microsoft Word?

Counters disagree on edge cases: numbers with separators ('9:30' is two tokens here), dashes, URLs and hyphenated words. This tool keeps hyphenated and apostrophe words whole and splits on everything else. For normal prose the difference is a few words in a thousand.

What is a good Flesch Reading Ease score?

For general web writing, 60 or more (plain English). Newspapers often land between 50 and 70, academic papers below 30. It only measures sentence and word length, so use it to find long sentences, not to judge quality.

Why is there no readability score for Vietnamese?

The Flesch formulas were fitted to English, and every Vietnamese word is counted as syllables of one each, so the result would be meaningless. The tool shows syllable counts and frequent syllable pairs instead.

How is keyword density calculated?

Count × number of words in the phrase ÷ total words × 100. A single word used 5 times in 250 words is 2%; a two-word phrase used 5 times is 4%.

Is my text uploaded?

No. All counting happens in your browser; the text is not sent or stored.