Typingby CodingMarble

Free · No sign-up · 40+ languages

Code typing test: measure your coding speed

Type a real code snippet – brackets, symbols and all. Press Enter at the end of each line; indentation is added for you. You get WPM, accuracy and the symbols you miss most.

Loading code typing test…

A code typing test measures how fast and accurately you type real source code – not English sentences. Code is full of brackets, operators, quotes, underscores and camelCase names, and it breaks every rhythm you learned from typing prose. This free test gives you genuine snippets from popular languages, handles indentation for you and shows exactly which symbols slow you down. There is nothing to install and no account to create.

Why typing code is harder than typing text

In English, about 1 in 6 characters is a space and almost everything else is a lowercase letter on the three letter rows. In code, a large share of keystrokes are symbols that need the Shift key or a long reach with the little finger: { } ( ) [ ] ; = " ' _ < >. Names such as getUserName or max_retries mix case and underscores in the middle of words. That is why most developers type code noticeably slower than they type plain text, even if they are fast in a normal typing speed test.

A typing test for programmers should therefore train three things: symbol accuracy, smooth Shift use and the rhythm of line endings. This test is built around those.

How the code typing test works

  • Real snippets: each test picks a short, working snippet – a function, a loop, a query, a style rule – rather than random symbols.
  • Enter at the end of each line: you press Enter where a line ends, just as in an editor.
  • Automatic indentation: leading spaces are filled in for you after Enter, like an editor with auto-indent, so you focus on the code itself rather than counting spaces.
  • No timer: this is a typing test without timing – it ends when you finish the snippet, so a long function is never cut off halfway.
  • Shortcuts: Tab loads a new snippet, Esc restarts the current one.
  • On-screen keyboard: the keyboard under the text is coloured by finger and shows which finger to use for each symbol, with animated hands if you want them.
  • Layouts: practise on QWERTY, Dvorak or Colemak – useful if you are switching layouts and want to check your symbols.
  • Settings: keyboard sounds, themes (including night and high contrast), and fonts, including an easy-to-read font.

Languages included

The snippets cover the languages most developers type every day. Each new test picks one at random, so over a session you practise a spread of syntax.

LanguageWhat you typeKeys it drills
JavaScriptFunctions, arrow functions, arrays, objects, template strings{ } ( ) => ; . ` $
PythonFunctions, loops, list comprehensions, dictionaries: _ [ ] ( ) # ' and consistent indentation
HTML and CSSTags, attributes, selectors and style rules< > / = " : ; { } # -
Java and CTyped variables, loops, printf and main functions{ } ( ) ; * & [ ] " %
SQL and shellQueries, joins, loops and git commands* , ( ) ' = - " $ ;

If you write C++, C# or Go, the Java and C snippets train almost the same symbols. If you want to practise with your own code – a Rust file or a snippet from work – paste it into the custom typing test.

So whether you want coding typing practice in Python, coding typing practice in Java, coding typing practice for HTML or a C++ warm-up before an interview, one page covers it. Python code typing practice online is the most common use, and Python and JavaScript make up most of the snippets. Snippets also contain plenty of digits, so this is a typing test including numbers in their natural place – loop counters, array values, limits. If you want pure digits, use the numbers mode of the main test or the 10-key typing test.

Where your fingers go: symbols and brackets

Most people learn letters with the right fingers and then improvise for symbols. That is where code speed is lost. Use this map for a standard US QWERTY keyboard, and always press Shift with the hand that is not typing the symbol.

SymbolsKeysFinger
( )Shift + 9 / 0Right ring / right little
[ ] { }Keys right of P (Shift for braces)Right little
; : ' "Home row, right endRight little
- _ = +Number row, right endRight little
< >Shift + comma / full stopRight middle / right ring
/ ? \ |Bottom row right; key above EnterRight little
! @ # $ %Shift + 1–5Left little, ring, middle, index, index
^ & *Shift + 6 / 7 / 8Index / right index / right middle
` ~Key left of 1Left little

Notice how much work lands on the right little finger. Programmers who train that finger – with the typing test with punctuation and this code test – see the biggest gains.

Indentation and line endings

At the end of every line, press Enter. The test then places the caret at the right indentation for the next line, so you never type leading spaces or tabs. This matches how you work in a modern editor and keeps the test about typing, not about counting spaces. It matters most in Python, where indentation is part of the syntax: you still see the structure clearly, but your score reflects the code you typed. Spaces inside a line – around = or after commas – are typed normally.

Your results: WPM, accuracy and the symbols you miss

The result screen shows the same measures as our other tests, calculated the standard way:

WPM = (correct characters ÷ 5) ÷ minutes

Raw WPM = (all typed characters ÷ 5) ÷ minutes

Accuracy = correct keystrokes ÷ all keystrokes × 100

CPM (characters per minute) is the character count without dividing by five, and consistency shows how steady your speed was during the snippet. You also see a speed chart, the words you mistyped and the keys to practise.

Worked example: you type a snippet of 540 correct characters (including spaces and line breaks) in 2 minutes 30 seconds. That is 540 ÷ 5 = 108 words, and 108 ÷ 2.5 = 43.2 WPM, or 540 ÷ 2.5 = 216 CPM. If you pressed 575 keys in total, your accuracy is 540 ÷ 575 × 100 ≈ 93.9%.

What is a good coding typing speed?

There is no official standard, but these rough ranges help you place your result. Figures are typical, not rules.

Code WPMWhat it usually means
Under 25Still searching for symbols; focus on brackets and Shift
25–40Comfortable; common for working developers
40–60Fast; symbols are mostly automatic
60+Very fast; typing is never the bottleneck

Keep accuracy at 95% or higher. In real code, a wrong bracket costs far more time in debugging than a slow keystroke.

How to increase typing speed for coding

  1. Learn touch typing for letters first. If you still look at the keys for letters, symbols will never be automatic. The touch typing lessons take a few weeks at 15 minutes a day.
  2. Drill the right little finger. Brackets, semicolons, quotes, - and = all live there.
  3. Use opposite-hand Shift. Left Shift for right-hand symbols, right Shift for left-hand ones. It feels slow for a week, then it is faster.
  4. Type code in your main language most. If you write Python daily, run several snippets in a row until a Python one comes up often enough to build rhythm.
  5. Practise weak keys. After a test, the keys to practise go straight into adaptive typing practice.
  6. Short, daily sessions. Five snippets a day beat an hour on Saturday. For a longer coding typing test of 5 minutes, simply run snippets back to back with Tab.

This mix – touch typing practice for coding plus symbol drills – is the fastest route we know. There are no shortcuts: fast typing practice for coding is simply accurate practice, repeated.

Remember that editors autocomplete brackets and names. This test does not, on purpose: it trains the raw keystrokes, which still matter every time you type in a terminal, a chat, a whiteboard interview or an editor without your plugins.

Who is this programming typing speed test for?

  • Beginners learning to code who want coding typing practice that also teaches syntax. Start with short snippets at an easy level of speed and let accuracy lead.
  • Developers who type prose fast but slow down on symbols.
  • Students preparing for coding interviews, where you type in a plain browser editor – this online programming typing test is a realistic code writing speed test for that situation.
  • Data analysts who write SQL and shell commands every day.

Code Typing Test: frequently asked questions

What is a code typing test?
It is a typing test where you type real source code instead of sentences. It measures your WPM and accuracy on the brackets, symbols and line breaks that programming needs.
Is there a free typing test for programming?
Yes. This code typing test is free, needs no sign-up and runs in your browser. Your results are saved in your browser on the My progress page.
Which programming languages are included?
JavaScript, Python, HTML, CSS, Java, C, SQL and shell. Each test picks a snippet at random. To practise another language, paste your own code into the custom typing test.
Do I have to type the indentation?
No. Press Enter at the end of each line and the indentation for the next line is added automatically. Spaces inside a line are typed normally.
Is there a time limit?
No. The code test is untimed and ends when you finish the snippet, so you always type the whole piece of code.
Why is my WPM lower on code than on text?
Code uses many symbols that need Shift or long little-finger reaches, plus mixed-case names. Most people type code noticeably slower than prose. Practising symbols closes the gap.
How can I test my typing words per minute on code?
Take this test: type the snippet, and the result screen shows WPM calculated as correct characters divided by five, divided by minutes, plus accuracy and CPM.