Real code, not random words
Hand-written snippets with real syntax, real indentation and real comments (skippable). Short, medium or long, in every language.
How fast are you in typing codes?
Real snippets in 15 languages, with every bracket, semicolon and indent that other typing tests politely skip.
const wpm = (chars: number, ms: number) => Math.round(chars / 5 / (ms / 60_000));
Tab loads another snippet. Escape leaves the editor.
// languages
From useEffect to impl Drop. Pick one language, or mix all 15.
// features
Your fingers already know the. They are less sure about => {.
Hand-written snippets with real syntax, real indentation and real comments (skippable). Short, medium or long, in every language.
Race the clock for 15 to 120 seconds, finish 10 to 50 lines, type without limits in Zen, or paste your own code.
WPM, raw WPM, accuracy, consistency and a per-second chart with every error, so you can see where the time went.
The 24-hour sprint keeps #1 within reach. Weekly and all-time boards too, filterable by language.
Tab restarts, the command palette reaches every setting, and a shortcut flips the theme. The mouse is optional.
Light and dark themes that follow your system, line, block or underline carets, three code fonts and optional ligatures.
// how it works
No account, no tutorial, no settings to fight. Open it and type.
One language or all fifteen. A timer, a line count, or no limit at all.
Enter for new lines, Tab where indentation belongs. Auto-indent fills in the rest if you want it to.
Every run is charted and your personal bests are saved. Post a timed score to the daily sprint.
// 01 pick
const run = devtype('typescript', 'time 30');
// 02 type
await run.type(snippet); // Enter, Tab, Backspace
// 03 track
run.result(); // { wpm: 128, rank: '#1' }// leaderboard
The sprint resets every 24 hours, so #1 is always up for grabs. Post any timed run, filter by language, and see exactly how far you are from the top ten.
Live sprint (24h)
// results
WPM is the headline. The chart is the story: where you sped up, where one bracket cost you two seconds, and whether you are steady or just fast in bursts.
TypeScript · Time 30s
// testimonials
A few words from people who stopped practicing on prose.
Built this for our dev community so we can see who actually types code the fastest without IDE shortcuts.
Proud to be a contributor
// faq
Yes. Every language, mode and stat is free, with no ads, trials or paid tier. The source code is on GitHub.
No. Open the test and start typing. Your settings, history and personal bests stay in your browser. To join the leaderboard you only pick a username.
JavaScript, TypeScript, Python, Rust, Go, C++, Java, C#, PHP, Ruby, Swift, Kotlin, SQL, HTML/CSS and Bash, or all of them mixed together.
WPM is correctly typed characters divided by five, per minute. Raw WPM counts every character you typed, mistakes included. Accuracy is correct keystrokes out of all keystrokes, so fixed mistakes still count. Auto-indentation never counts as typing.
Yes. Custom mode takes up to 5,000 characters of anything you paste, so you can practice the exact code you write every day.
Yes. The test uses your phone’s own keyboard and the layout works down to 360 px wide. A hardware keyboard is still the way to chase a high score.
// ready?
Thirty seconds is all it takes to find your baseline. Beating it takes a little longer.
Start typingFumbled the first line? Press Tab to restart.