# Calculating Read time in JavaScript

Written on October 8th, 2020 • 3 min read

This is a very simple task. First, we need a sentence to try this out. Let's use "The quick brown fox jumps over the lazy dog". A few thing we need to know is:

• The average word is 5 in the English dictionary.
• The average Words Per Minute for reading (WPM) is 200-250, which averages to 225 WPM. (https://archive.is/FRfWJ), I just saw a Google Highlight).

So, we have to split the text every 5 letters and divide it by 225 WPM. This can easily be done with JavaScript:

``"The quick brown fox jumps over the lazy dog.".match(/.{1,5}/g).length/225;``

Which should return a value of `0.04`. So are we done? No. We also need make it human readable. First we need to round to the nearest whole number by using `Math.round()` :

``Math.round("The quick brown fox jumps over the lazy dog.".match(/.{1,5}/g).length/225);``

Which should return `0`. Now we are almost done. Let's make it human readable. We can give it summaries using if/else statements.

Lets use:

• Less than a minute read - for read times under a minute.
• n min read - for read times that are over a minute.

as statements.

``````var rt = Math.round("The quick brown fox jumps over the lazy dog.".match(/.{1,5}/g).length/225);
if (rt <= 0) {
rt = "Less than a minute read."
} else if (rt === 1){
which returns `Less than a minute read.`