Typing speed is measured in WPM (words per minute) — where a "word" is standardised as 5 characters to account for varying word lengths. Accuracy tracks the ratio of correctly typed characters to total characters. Consistent practice across varied content (prose, code, numbers) builds both speed and precision. This test offers five modes, four difficulty levels, and keeps a history of your last eight sessions to track improvement.
Raw WPM counts all typed characters ÷ 5 ÷ elapsed minutes. Net WPM subtracts incorrect words: (correct characters ÷ 5 ÷ minutes) − errors. Most typing speed tests report net WPM. Average typist: 40–60 WPM. Proficient office worker: 65–75 WPM. Programmer (typing code): 50–65 WPM. Top competitive typists reach 160+ WPM. Code mode is harder than words because of punctuation, brackets, and unusual character patterns that break typing rhythm.
A word is defined as 5 characters (including spaces). Take the total characters typed correctly, divide by 5 to get words, then divide by elapsed minutes. Example: 300 characters in 1 minute = 60 WPM.
Typing speed rarely limits programming productivity — thinking and problem-solving are the bottleneck. That said, 60–80 WPM is comfortable for most developers. The bigger gain from typing practice is reducing looking at the keyboard, which improves flow.
Easy uses the most common 300 English words. Medium uses the 1,000 most common. Hard uses a broader vocabulary with some uncommon words. Expert adds punctuation, capitalisation, and complex syntax to all modes.
Consistent daily practice of 10–20 minutes. Focus on accuracy first — slow down until error rate drops below 2%, then gradually increase speed. Learning proper touch-typing technique (home row, all 10 fingers) yields the largest long-term gains.
See also the Word Count tool and the Character Counter for text analysis utilities.