__               _                        ___ 
 / /___  ______  (_)___  ____ _        ____/ (_)
/ __/ / / / __ \/ / __ \/ __ `/  ____ / __/ / / 
/ /_/ /_/ / /_/ / / / / / /_/ /  /___// /_/ / /  
\__/\__, / .___/_/_/ /_/\__, /        \__/_/_/   
   /____/_/            /____/                     

Type faster.
Right from your terminal.

Real-time WPM tracking, animated pixel-art F1 car, multiple themes, gamification — all in a beautiful CLI.

terminal
$ pip install typing-cli
PyPI Python 3.10+ MIT License

See it in action

A full typing experience, right in your terminal

typing-cli
the quick brown fox jumps over the lazy dog while
the sun sets behind the
WPM 72
ACC 96%
STREAK 🔥 14
0:24

Everything you need

to improve your typing speed

Real-time WPM

Live words-per-minute and accuracy tracking as you type. Timer starts on first keypress.

🏎️

Pixel-art F1 Car

An animated F1 car that reacts to your speed. Type faster — watch it race across the screen.

🎮

Gamification

Streaks, combos, milestones, and a rank system from Bronze to Legendary. Stay motivated.

🎨

5 Themes

Midnight, Forest, Sunset, Ocean, Mono. Switch instantly with Ctrl+T.

💻

Code Mode

Practice typing real code snippets in Python, JavaScript, Rust, Go, and more.

🌍

Multiple Languages

English and French word lists built-in. Switch with Ctrl+L.

📊

Score History

Track your progress over time with detailed score history. Date, WPM, accuracy logged.

🔄

Auto-update

The app checks for updates on launch. Press Ctrl+U to update instantly — no commands needed.

🪶

Lightweight

Pure Python. No Electron, no browser. Runs anywhere Python runs — fast and minimal.

Keyboard-first

Everything at your fingertips

Tab
Restart test
Escape
Back / Quit
Ctrl+T
Change theme
Ctrl+L
Change language
Ctrl+G
Switch mode
Ctrl+H
Score history
Ctrl+U
Update
Ctrl+/−
Zoom in/out
Ctrl+Q
Quit

Built for developers

Practice typing real code in your favorite language

🐍

Python

def, class, list comprehensions

TS

TypeScript

interfaces, generics, async

JS

JavaScript

arrow functions, promises, DOM

🦀

Rust

ownership, traits, match

Go

Go

goroutines, structs, channels

code mode — python
def fibonacci(n: int) -> list:
a, b = 0, 1
for _ in range(n):
a, b = b, a + b
return a

Switch languages with Ctrl+K — switch to code mode with Ctrl+G

Get started in seconds

Just two commands. That's it.

1 Install
$ pip install --user typing-cli
2 Launch
$ python -m typingtest

After first launch, typing-cli is auto-added to your PATH. Just restart your terminal and type typing-cli.

Uninstall: pip uninstall typing-cli -y

🤝

Open source & community-driven

typing-cli is MIT licensed and built in the open. Whether you want to add a new language, create a theme, fix a bug, or suggest a feature — every contribution matters.

🌍

Add a language

Drop a JSON word list and give the world a new language to practice

🎨

Create a theme

Design a color palette and see it live in the terminal

💻

Add code snippets

Contribute real-world code samples for any programming language

git clone https://github.com/lecoffre/typing-cli.git pip install -e . You're ready to hack 🚀