HTML typing test

Every HTML tag is the same key pressed twice. Angle brackets share a button, and your left hand does all the work.

0 wpm100% acc0/140
<section class="hero">
<h1>Build things that last</h1>
<p>Small tools, honest metrics.</p>
<a href="/start">Get started</a>
</section>

Why HTML feels repetitive

An opening tag costs four shifted presses before you have typed any content: less-than, greater-than, then the same pair again for the closing tag. Multiply that by every element on a page and the repetition starts to show up in your score.

The letters in HTML are easy. It is the surrounding punctuation, repeated hundreds of times per file, that separates a comfortable 60 WPM from a tiring 35.

The expensive characters

  • Angle brackets — less-than and greater-than share one key, so every tag is two shift presses.
  • Forward slashes in closing tags — a reach that always arrives right after a greater-than.
  • Equals signs and quotes for attributes — three characters of overhead for every class, href or id.
  • Hyphens in class names — cheap alone, relentless across a real markup file.
  • Prefixes such as aria and data — long, lowercase and easy to transpose under time pressure.

Reading your result

HTML scores usually land below prose and near SQL. That is expected: the ratio of punctuation to letters is the highest of any language here. Anything above 40 WPM is a solid working pace.

If you also write JSX or Vue templates, the symbols here transfer, but expect braces and camelCase props to add a little more overhead on top.

Compare with another language

Questions

What is a good HTML typing speed?

Above 40 WPM on markup is a solid working pace. HTML has the highest punctuation-to-letter ratio of the languages tested here, so it will always score below your English speed.

Do the snippets include attributes and nesting?

Yes. The snippets cover forms, navigation, figures, lists and details elements, all with attributes and indentation, because that is where the typing cost lives.

Does this help with JSX or Vue?

Partly. The tag structure and angle brackets are identical, so the rhythm transfers. Both add braces and camelCase props, which are a separate set of reaches worth practising on their own.

Why is my HTML speed so much lower than my English speed?

Because almost every character pair in a tag requires shift, and shift work is roughly twice as slow as an unshifted letter. A 90 WPM prose typist landing near 45 on HTML is normal, not a regression.

Last updated 2026-11-11. Written by the GeekType team.