Formula to detect the grade level of text according to Flesch–Kincaid Grade Level (1975)
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.

flesch-kincaid Build Status Coverage Status

Formula to detect the grade level of text according to the Flesch–Kincaid Grade Level.

See syllable for detecting syllables.



npm install flesch-kincaid


var fleschKincaid = require('flesch-kincaid')

// For “The Australian platypus is seemingly a hybrid of a mammal and reptilian
// creature.” (1 sentence, 13 words, 26 syllables).
fleschKincaid({sentence: 1, word: 13, syllable: 26})
// => 13.08



Given an object containing the number of words (word), the number of sentences (sentence), and the number of syllables (syllable) in a document, returns the U.S. grade level associated with the document.

Values can theoretically start at -3.40 and end at Infinity.


  • automated-readability — Uses character count instead of error-prone syllable parser
  • coleman-liau — Uses letter count instead of an error-prone syllable parser
  • dale-chall-formula — Uses a dictionary; suited for higher reading levels
  • flesch — Uses syllable count
  • gunning-fog — Uses syllable count, needs POS-tagging and NER
  • smog-formula — Like gunning-fog-index, without needing advanced NLP
  • spache-formula — Uses a dictionary, suited for lower reading levels


MIT © Titus Wormer