Code typing test

A timed test on real code, not prose. Braces, arrows, brackets, member access and semicolons — the keys that decide how fast you actually write software, and that no ordinary typing test touches.

Take the test

Why your prose WPM does not predict your coding speed

A prose typing test is almost entirely lowercase letters and spaces. Code is something else: a JavaScript function of forty tokens can contain a dozen symbol keys, half of them on the shifted layer, most of them on the right hand's pinky. The typist who does 80 WPM on an English paragraph routinely drops to 40 on code, because those keys were never in the training data — the brackets and operators are reaches, not reflexes.

This test draws its text from real JavaScript and TypeScript — arrow functions, destructuring, generics, method chains — so the number you get is your speed at the thing you do all day. Indentation is flattened to single spaces so the test is about the keys, not about matching a formatter.

The keys that slow programmers down

Curly braces and square brackets, because they sit at the top-right corner and need the shift key for one of the pair. Parentheses, which are shifted 9 and 0 and therefore a long reach from the home row. The equals sign and its neighbours — the =>, ===, and != combinations that appear on nearly every line. Underscore and the pipe. And camelCase itself: every capital in the middle of an identifier is a shift press, which is why longIdentifierNamesLikeThis cost more than their length suggests.

After the test, the coach's heatmap shows exactly which of these took you longest, and the drill it generates is built from minimal pairs around them — real code fragments that contrast the keys you confuse.

Practise the language you write

This page tests JavaScript and TypeScript. There are separate tests for Python and SQL, which lean on different keys — Python on colons, underscores and indentation, SQL on capitals, commas and parentheses. The Programmers course goes further, with lessons that isolate one family of symbols at a time before mixing them back into full snippets.

If you want practice text on your own stack — React hooks, Rust lifetimes, a particular library — the Practice Lab writes it on request.

Symbols on non-US keyboards

On AZERTY and QWERTZ layouts the brackets, braces and the backslash live behind AltGr, which makes code measurably slower to type than on a US layout — a known reason many European developers switch to US-International for programming. The test adapts to the keyboard layout set in your profile, and the on-screen hands show the AltGr combination when one is needed, so the practice matches the keyboard under your fingers rather than an assumed one.

Other typing tests

Start the free course