#typing #terminal #termion #games #fun

app typeracer

A terminal typing game. Race to see the fastest time you can get!

25 stable releases

2.0.6 Feb 18, 2021
2.0.4 Nov 9, 2020
2.0.3 Sep 8, 2020
2.0.2 Jul 4, 2020
1.1.1 Jul 27, 2019

#7 in Games

Download history 2/week @ 2020-12-18 9/week @ 2020-12-25 32/week @ 2021-01-01 2/week @ 2021-01-08 27/week @ 2021-01-15 7/week @ 2021-01-22 2/week @ 2021-01-29 21/week @ 2021-02-05 157/week @ 2021-02-12 35/week @ 2021-02-19 13/week @ 2021-02-26 5/week @ 2021-03-05 23/week @ 2021-03-12 76/week @ 2021-03-19 55/week @ 2021-03-26 57/week @ 2021-04-02

112 downloads per month

GPL-3.0 license

3.5K SLoC


pipeline status coverage report

Maintenance Development status

An open source terminal based version of Typeracer written in rust.

Gives you a random passage and you type it out. While you type it will tell you where you're making errors and give you a set of words per minute.

User typing away having a great time in their terminal

Or see it in action here!


We're on crates.io! Grab the latest version with:

$ cargo install typeracer

Or if you prefer, binaries are included with each release.

Binaries are statically linked and available for a few platforms (currently x86_64 Linux and macOS). To use them, download and execute like any regular binary.

Windows is not supported if you are not running Windows Subsystem for Linux. If you would like to run on Windows, install WSL and use the Linux binaries.

Releases here


$ typeracer
# Or if you want to take the passage from somewhere else
$ typeracer -r $(echo 'racing using a passage from elsewhere')

Hit ^C at any time to quit.

Language support

Typeracer natively supports reading almost all languages. If the language does not blend wide and thin character charsets it should work as expected without a hitch.

The primary language our lang packs support is English, but we would love contributions for other languages :)

For more info on which languages we support in our lang packs and how to contribute, please check here.


What good would a typing game be without a config file?

You can find docs on configuring here.


There isn't much to building, but steps are documented here.


I'd love to have more contributors! If you're looking to make any drastic changes (e.g. Redis integration or something like that) consider contacting me via email first so we can discuss.

All rust should be formatted with rustfmt. And if you're adding a new feature, please add some tests too!

License is GPLv3 in the spirit of open source.


~589K SLoC