Skip to content
Online touch-typing tutor.
JavaScript HTML CSS
Branch: master
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
css cleanup Feb 15, 2013
js cleanup Feb 15, 2013
layouts v2: use the <x-keyboard> web component Apr 22, 2019
lessons documentation update Apr 22, 2019
v2 use a CDN for <x-keyboard> Jun 7, 2019
LICENSE GPL v2 or later Jan 19, 2013 documentation update Apr 22, 2019
index.html v2: use the <x-keyboard> web component Apr 22, 2019

Web Typist

Online touch-typing tutor.

Live Version

Technically outdated (works with IE6!) but still working. It should be on par with KTouch.

V2 Preview (work in progress)

This version is built on the x-keyboard component, which brings two new features:

  • dead keys are properly detected, and visual hints are displayed to help mastering these dead keys — this is especially useful with Latin languages (French, Italian, Spanish, Portuguese, Romanian…) or with some keyboard layouts such as Qwerty-intl;
  • keyboard layouts can be fully emulated — you can try a new layout without installing it on your computer.

This newer version relies on the following web standards:

  • ES6 classes & modules;
  • web components: custom elements + shadow DOM + HTML templates;
  • KeyboardEvent’s experimental code property for the keyboard emulation.

Nowadays, this means it should work with any browser except IE and Edge. As Microsoft is deprecating IE and switching Edge to the Blink engine, all desktop browsers should be supported soon. Until then, the V1 is still there.

Typing Lessons

Both V1 and V2 use KTouch lecture files. Please refer to the documentation.

If you contribute a lesson here, please consider submitting it to the KTouch project as well (and vice-versa).

Keyboard Layouts

The V2 uses Kalamine keyboard layouts. This keyboard layout manager makes it easy to handle dead keys and/or an AltGr layer, and generates drivers for Windows, MacOSX and Linux — along with a JSON output that is parsed by WebTypist.

The V1 uses a specific XML format that I don’t intend to keep.


This project reuses KTouch’s lessons and some Klavaro visuals.

You can’t perform that action at this time.