A Note on Calculating Text Entry Speed

I. Scott MacKenzie
Dept. of Electrical Engineering and Computer Science
York University
Toronto, Ontario, Canada M3J 1P3


Last update: 5/11/2022



Due to the speed-accuracy tradeoff, evaluations of human performance in text entry tasks must consider both the speed of entry and the accompanying errors.  This research note is about the calculation of entry speed.

Characters Per Second

In evaluating text entry methods, the experimental software typically presents phrases of text to participants to enter.  As a participant enters a phrase, the system captures and logs keystrokes and their timestamps.  Entry speed is simply the total number of characters entered divided by the time to enter them.  The units are "characters per second".  Here is a simple example:

the quick brown fox jumps over the lazy dog (43 characters)
^                                         ^
t = 0 seconds                             t = 20 seconds

The example shows a 43-character phrase entered in 20 seconds.  The entry speed is 43 / 20 = 2.15 characters per second (cps).  Or is it?  It is important to consider both the initial and terminating points for the time measurements.  If timing begins on the entry of the first character, then the preparation time leading to the input of the first character is missing.  In this case, the character count should be decremented by one before computing speed in characters per second.  In other words, entry speed in the above example is more accurately computed as 42 / 20 = 2.10 cps.  This is (2.15 - 2.10) / 2.15 × 100 = 2.3% less than our initial figure.  Note, as well, that the first "t" should be discarded if additional fine grain analyses are undertaken, for example, on the time to enter specific letters.

In the example above, the terminating time measurement is shown at the entry of the final character, "g".  This is correct, as it includes the time for entering the final character.  However, if the terminating time measurement is taken on a subsequent keystroke – such as ENTER – then this keystroke is also included in the character count (and in other fine grain analyses).

Words Per Minute

It is common to transform "characters per second" into "words per minute" (wpm).  The definition of a "word" for this purpose is "five characters" and includes spaces, punctuation, or other characters in the inputted text.  The transformation requires multiplying the entry speed in cps by 60 seconds/minute and dividing by 5 characters/word.  So, for the above example, text entry speed is 2.10 × (60 / 5) = 25.2 wpm.

Note: Prior to about 1924, typing rates were reported using actual words per minute.  Since then, entry speed has been reported using the method noted above [1].

A Variable and its Units

Terminology is extremely important when writing up the methodology of a user study on text entry (or any topic). It is generally the case that a variable representing human performance has both a name and units. In this case the variable name is "Entry Speed" and the units are "words per minute" or just "wpm". This point is mentioned due to the common and incorrect use of "wpm" as the name of the variable. It is not! The variable is "Entry Speed". The units are "wpm".


1.   Yamada, H. (1908). A historical study of typewriters and typing methods: From the position of planning Japanese parallels. Journal of Information Processing, 2(4), 175-202.

For comments or suggestions, please contact Scott MacKenzie at mack "at" yorku.ca or visit his home page.