An interactive typing game to improve your typing speed and accuracy.
Speed Typing Master shows you random phrases to reproduce as quickly as possible, measuring your speed in words per minute (WPM) and your accuracy.
The game uses word-by-word progression: type a word and it turns green, then the next word is highlighted automatically — smoother and more satisfying than typing against a static block of text.
- Precise timing — measures exact typing time
- Scoring — words per minute (WPM) and accuracy (% of correct characters)
- Real-time visual feedback — green when correct, red when incorrect
- Score history — your performance is saved between sessions
Four visual themes:
| Theme | Style |
|---|---|
| 🌙 Dark | Modern dark background |
| ☀️ Light | Bright, clean interface |
| 💚 Neon | Cyberpunk look with neon green |
| 🟤 Retro | Vintage feel |
Built with Tkinter, with smooth animations and centred text display.
- Success sound when you complete a phrase
- Error sound on a mistyped character
- Keystroke sound — subtle audio feedback (optional)
- pygame support for higher-quality audio
Practice — one phrase at a time, detailed results after each, no time limit. Best for improving steadily.
Challenge — 60 seconds to type as many phrases as possible, with a cumulative score. Compete against your own record.
| Level | Content |
|---|---|
| Easy | Short, simple phrases |
| Medium | Phrases with punctuation |
| Hard | Long, complex phrases |
Phrases are available in English and French (easy and medium levels).
- Best WPM and best accuracy records
- History of the last 50 games
- Detailed statistics: date and time, WPM, accuracy, elapsed time, difficulty, mode and language
Requirements: Python 3.7 or newer, with Tkinter (usually bundled with Python).
pip install -r requirements.txt
python typing_game.pyFor the best sound effects, install pygame:
pip install pygame numpyThe game runs without pygame, falling back to basic system sounds.
- Start the game —
python typing_game.py - Set your preferences — difficulty (Easy, Medium, Hard), language (English, French), theme (Dark, Light, Neon, Retro) and mode (Practice, Challenge)
- Click "Start Game" — a phrase appears
- Type word by word — the current word is highlighted in blue. Type it exactly: the text turns green when correct and red when incorrect. Once a word is right the field clears and the next word is highlighted automatically.
- See your results — after each phrase in Practice mode, or at the end of the run in Challenge mode
- Check the leaderboard — your best scores are saved automatically
.
├── typing_game.py # Main game
├── sound_effects.py # Sound effect manager
├── phrases.json # Phrase database
├── scores.json # Saved scores (created automatically)
├── requirements.txt # Python dependencies
├── CHANGELOG.md # Version history
├── LICENSE # MIT licence
├── run.sh # Launcher for macOS/Linux
└── run.bat # Launcher for Windows
Edit phrases.json:
{
"easy": [
"Your easy phrase here.",
"Another phrase."
],
"medium": [
"A medium-difficulty phrase, with punctuation."
],
"hard": [
"A long and complex phrase to test both your speed and your accuracy."
]
}In typing_game.py, look for the setup_theme() method:
self.themes = {
"your_theme": {
"bg": "#background_colour",
"fg": "#text_colour",
"accent": "#accent_colour",
}
}MIT — see LICENSE.
Author: Colince Tcheussieu Mendji