A beautiful and fast CLI typing test — right from your terminal.
Practice your typing speed with real-time WPM tracking, accuracy stats, animated pixel-art F1 car, multiple languages, and color themes.
__ _ ___
/ /___ ______ (_)___ ____ _ ____/ (_)
/ __/ / / / __ \/ / __ \/ __ `/ ____ / __/ / /
/ /_/ /_/ / /_/ / / / / / /_/ / /___// /_/ / /
\__/\__, / .___/_/_/ /_/\__, / \__/_/_/
/____/_/ /____/
pip install typing-cliThen launch with:
python -m typingtestOn first launch the app automatically adds typing-cli to your PATH.
Restart your terminal and from then on just type:
typing-cligit clone https://github.com/lecoffre/typing-cli.git
cd typing-cli
pip install -e .typing-cliIf the command is not found, you can always run:
python -m typingtestThe app launches in your terminal. Start typing!
The app checks for updates automatically on launch.
If a new version is available, press Ctrl+U on the splash screen to update instantly.
You can also update manually:
pip install --user --upgrade typing-clipip uninstall typing-cli -y| Shortcut | Action |
|---|---|
Tab |
Restart test |
Escape |
Back / Quit |
Ctrl+T |
Change theme |
Ctrl+L |
Change language |
Ctrl+M |
Switch mode (words/code) |
Ctrl+H |
View score history |
Ctrl+U |
Update to latest version |
Ctrl++/- |
Zoom in/out |
Ctrl+Q |
Quit |
Built-in:
- 🇬🇧 English (200 most common words)
- 🇫🇷 French (200 most common words)
- Midnight — deep dark blues (default)
- Forest — earthy greens
- Sunset — warm amber tones
- Ocean — cool cyan palette
- Mono — minimal grayscale
- Real-time WPM & accuracy tracking
- Per-character coloring (correct / incorrect / cursor)
- Animated pixel-art F1 car reflecting your speed
- Gamification: streak, combo, milestones, rank system
- Code typing mode
- Score history with date, WPM, accuracy
- Multiple languages & themes
- Splash screen with ASCII art
- Auto-update: notifies and updates from the CLI
- Clean, extensible architecture
git clone https://github.com/lecoffre/typing-cli.git
cd typing-cli
pip install -e .
# Run directly
python -m typingtestContributions are welcome! Feel free to open issues and pull requests.
- Fork the repo
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit (
git commit -m 'Add amazing feature') - Push (
git push origin feature/amazing-feature) - Open a Pull Request