Skip to content
FreeType

Code typing test

A measured run on real code. Syntax-highlighted and line numbered, with indentation skipped and everything else scored exactly.

0 wpm100% acc0sstart typing…
greet.js
function greet(name) { return "Hello, " + name + "!"; }

Indentation is handled for you

Press Enter at the end of a line and the cursor skips whatever leading whitespace the next line carries. You never type indentation, and you are never charged for it, because reproducing four spaces is a test of the space bar rather than of anything you do in an editor — your editor indents for you too.

Blank lines are the one place this surprises people: the skip stops at the next newline, so an empty line between two blocks still wants its own Enter. That matches what you press in a real file.

Why the same person scores lower on code

Expect roughly half to two thirds of your prose speed, and treat that as normal rather than as a problem. Prose is typed in whole words your hands already know as single movements. Code is not: an arrow, a closing sequence, a generic parameter and a template interpolation are each assembled character by character, and most of those characters are shifted.

The other cost is that code has no redundancy. A misread word in prose is still readable, so your hands learn to run slightly ahead of your eyes. A missing brace is a syntax error, and the part of you that knows this quietly slows down — which shows up in the consistency figure long before you notice it yourself.

Case and symbols are scored exactly

Every character must match, capital letters included. An identifier typed in the wrong case is wrong, which is stricter than prose typing feels but is precisely the mistake that costs time in real work.

Because accuracy is counted per keystroke, a shifted character you reach for twice is recorded twice, and the correction stays in the tally. On symbol-dense code this makes accuracy the more revealing of the two figures: the per-key heatmap will usually name three or four specific characters carrying most of your errors, and those are worth drilling directly rather than retaking whole tests.

Frequently asked questions

Do I have to type the indentation?

No. After a correct newline the engine skips the leading whitespace on the next line, so you press Enter and keep going. A blank line still needs its own Enter.

Does capitalisation count?

Yes. Every character must match exactly, including case, because a mistyped identifier is a real error rather than a cosmetic one.

Which languages can I type?

JavaScript, TypeScript, Python, C++, Go and Rust, each across beginner, intermediate and advanced snippets.

Why is my code speed so much lower than my prose speed?

Half to two thirds is typical. Code is symbol-dense, heavily shifted, and unforgiving of small errors, so none of it can be typed as whole-word gestures the way prose can.

This page measures. To work on what it exposes, see code typing practice for how to practise deliberately, or go straight to drills built from your own weak keys.

We stand with Palestine.