ABOUT
What Typelesson is
A free touch-typing tutor for 86 languages and 24 writing systems, made by one person. No advertising, no paid tier, and no account required to use any part of it. There is one analytics script, and it does not run unless you agree to it.
Why it exists
Almost every typing tutor is an English course with its interface translated. That is a reasonable thing to build and it is not the same thing as teaching someone to type their own language. A learner of Russian does not need the buttons relabelled; they need a layout where every key produces a letter that is not printed on the keyboard in front of them, and a guide that shows both at once.
So the keyboard guide is the centre of the product: each key shows the physical key and the character it writes, together, and lights the one you need next. Everything else — the nine-stage course, the 113 drills, the configurable speed test, the three games — is arranged around that.
How the content is made, and how it is checked
There are three kinds of text on this site and it is worth being straightforward about which is which.
- Derived
- Facts computed from the data the app holds — which characters beyond a-z each language’s practice words use, how often they appear, how many distinct characters all 5,367 of those words need between them. These cannot be wrong unless the data is, and they are stated as what they are: a count of the words on the page, not a description of the alphabet behind them. A bank of sixty German words contains ü and not ä, ö or ß. The key maps are part of that data: each was read from the layout file for that keyboard rather than typed out from a picture of one, which is what lets the guides compare eight Cyrillic layouts key by key, or report that Tamil 99 puts the same letter in the same place as Devanagari InScript on two positions out of twenty-eight.
- Generated
- Per-language prose assembled from those facts. An automated check compares every one of the 3,655 possible pairs of language pages for near-duplication, and refuses to pass if any pair climbs too close. Pages that differ only by a name substituted into a sentence are the thing it exists to prevent, and it has already caught one regression that every other check on the site passed. A second check compares each language’s own three pages against each other, which turned out to be the worse number until it was measured: the lessons, test and games pages of one language shared three quarters of their prose, and now share about a third.
- Written
- The 42 guides, a note on each of the 86 languages and one on each writing system — all written by hand, because they carry things no amount of computation could know. That InScript is the layout Indian typing examinations are set in. That Georgian has no capital letters. That Burmese spent a decade split between two incompatible encodings.
On numbers we cannot stand behind
A lot of typing advice is repeated confidently and traces back to nothing. The clearest example is “the average person types 40 words per minute”, which appears on every site in this field and cites no study anyone can name.
Where that is the case, the guides here say so rather than joining in — and one of the automated checks refuses to pass if any page quotes that figure without also saying its provenance does not survive checking. Nothing ships until those checks are green. Where a figure is solid, such as the five-character word or the net-WPM formula, it is stated plainly. The site would rather be less quotable than more confident than it has any right to be.
What it does not do
- It does not advertise to you, and it does not track what you type. It does use Google Analytics to count visits, which runs only if you accept it when asked — decline and no third-party script runs at all. What you type never leaves your device either way, and there is no advertising anywhere. The privacy page describes every byte that is stored and what each answer to that question means.
- It does not verify leaderboard scores. Results are submitted by your browser, so a determined person with developer tools can submit something plausible and false. Closing that properly needs server-side replay of the keystroke timeline, which is not built. Treat the boards as a scoreboard, not a record.
- It offers one keyboard layout per language. Several languages have two that are genuinely different skills — Telex against VNI for Vietnamese, Mangal against Kruti Dev for Hindi, the F-keyboard against the Q-keyboard for Turkish. Only one is taught, and the language notes say which.
- 8 languages have short practice banks. Malayalam, Odia, Assamese, Sinhala, Lao, Pashto, Kurdish (Sorani) and Tigrinya have fewer than 25 words each, which makes their tests repetitive. They are deliberately left short: writing words into a tool whose entire purpose is that people practise typing them requires certainty about the orthography, and a bank with a misspelling in it teaches the misspelling.
- The keyboard guide cannot show the keys for 2 languages. The guide is the centre of this site — the physical key and the character it writes, together — and it works by looking the key up in a map of the language’s layout. They are Amharic and Tigrinya, so their guide shows the physical keys and says so rather than pretending. Two of the three are written in Ethiopic, where a character is a consonant and a vowel together and a map from one key to one character cannot describe the script at all — that one needs a different guide rather than more data. Mandarin and Japanese are not in the count: Pinyin and Romaji really are typed on the Latin keys the guide shows. The item below is the other half of this gap, and it is now much the larger of the two.
- 35 languages drill the Latin letters rather than their own accents. The beginner course builds its drills by remapping the keys through a language’s layout. 35 languages here do not have one yet — Spanish, French, German, Portuguese and others — so their drills come out as the plain a-z letters, and the characters those languages actually need beyond a-z appear only in the word bank the speed test and the games draw on. The keyboard guide is correct either way, because a Latin keyboard produces Latin letters whether or not a map exists.
- The Yoruba practice words omit their diacritics. Yoruba marks three letters with a dot below and three tones with accents, and both change meaning. The words here are in the plain form — the common informal register, and not correct orthography. Fixing it properly needs a Yoruba speaker to check every tone, and guessing at tones in a tool built for practising them would be worse than saying so. The same check found and fixed the Māori macrons and two Hausa hooked letters, where the correct forms were not in doubt.
- It is not a language course. The words are typing material. You can drill them without understanding them, and many people do exactly that when they need to type a script for work.
Who makes it
One person, as a personal project, with no company behind it and no revenue from it. That is the whole answer, and it is the reason the site can be free without advertising and the reason it has no support team.
Corrections are genuinely welcome and are the most useful thing you can send. If a language note is wrong, a layout is misdescribed, or a word in a practice bank is misspelled, please say so — those are the errors that matter most here, because people are practising typing them. Write to contact@typelesson.com. Security reports are welcome at the same address; there is a security.txt with the details.
How it is built
A statically generated Next.js site with no server of its own: every page is prerendered at build time, and there are no server actions, no middleware and no API routes. Optional accounts run on Supabase with row-level security on every table. The practice data, the curriculum and the writing all live in the repository rather than in a database.
← Back to Typelesson · Read the guides · Browse 86 languages