Code Typing Practice

Type real code in 17 languages with automatic indentation and symbol-accurate scoring.

Where the programming symbols are

Programming uses keys that everyday typing rarely touches. This table shows the finger for each symbol in this test on a US QWERTY keyboard:

SymbolFingerShift?
!left pinkyYes, with the right Shift
"right pinkyYes, with the left Shift
#left middleYes, with the right Shift
$left indexYes, with the right Shift
%left indexYes, with the right Shift
&right indexYes, with the left Shift
'right pinkyNo
(right ringYes, with the left Shift
)right pinkyYes, with the left Shift
*right middleYes, with the left Shift
+right pinkyYes, with the left Shift
,right middleNo
-right pinkyNo
.right ringNo
/right pinkyNo
:right pinkyYes, with the left Shift
;right pinkyNo
<right middleYes, with the left Shift
=right pinkyNo
>right ringYes, with the left Shift
?right pinkyYes, with the left Shift
@left ringYes, with the right Shift
[right pinkyNo
\right pinkyNo
]right pinkyNo
^right indexYes, with the left Shift
_right pinkyYes, with the left Shift
`left pinkyNo
{right pinkyYes, with the left Shift
|right pinkyYes, with the left Shift
}right pinkyYes, with the left Shift
~left pinkyYes, with the right Shift

Why programmers should practice typing

Code is mostly read and edited, but typing speed still matters: faster, more accurate typing keeps you in flow, makes refactoring less tedious and lowers the cost of writing tests and documentation. The biggest gains come from symbols, because brackets, quotes and operators sit on the edges of the keyboard where the pinkies do the work.

Tips for typing code

  1. Learn the bracket pairs by feel. ( ) are Shift + 9 and 0; [ ] and { } sit to the right of P.
  2. Use the opposite Shift for symbols, just like capital letters.
  3. Let your editor help. Auto-closing brackets and snippets save keystrokes, but practice here without them so the motions are automatic.
  4. Measure both speed and accuracy. In code, a single wrong character can break the program, so accuracy matters more than raw speed.

How your score is calculated

  • WPM (net words per minute) counts only correctly typed characters, divided by five (the standard length of a word, including spaces), divided by the minutes taken. Mistakes you leave in the text do not add to your speed.
  • Raw WPM counts every keystroke, right or wrong. A large gap between raw and net WPM means accuracy is holding you back.
  • Accuracy is the share of keystrokes that were correct when you typed them. Fixing a mistake with Backspace still counts the original error, which is how most employer tests work too.
  • Consistency shows how steady your speed was from second to second. Above 80% means a smooth rhythm; below 60% usually means you pause on certain words or keys.
  • Percentile and grade compare your net WPM with the 168,000 typists measured in the largest published typing study (average 51.56 WPM).