A fast, minimal typing test that runs right in your terminal — built with Textual and styled with the Catppuccin Mocha palette.
Run the whole app in a single command — it downloads the script, installs the only dependency, and launches:
curl -L -o monkeytype_tui.py https://raw.githubusercontent.com/afnan-nex/monkeytype-tui/main/monkeytype_tui.py && python -m pip install --upgrade textual && python monkeytype_tui.py
- 🕐 Time mode — race the clock with 15 / 30 / 60 / 120 second tests
- 🔢 Words mode — test yourself over 10 / 25 / 50 / 100 words
- 📊 Live stats — real-time WPM, accuracy, progress, and raw WPM while you type
- 🎨 Catppuccin Mocha theme — the signature soft pastel dark palette
- ✅ Instant feedback — characters color-coded as you type (green = correct, red = incorrect, yellow = upcoming)
- 🏁 Automatic results — the results screen pops up the moment you type the last character of the last word (no need to press space)
- ⏱️ Timer progress bar — turns green → yellow → red as time runs out
- 🖥️ Auto window sizing — on Windows the console window opens at 720 × 450 px
- Python 3.9+
- Textual (v8+ recommended)
See Quick Start above.
git clone https://github.com/afnan-nex/monkeytype-tui.git
cd monkeytype-tui
python -m pip install --upgrade textual
python monkeytype_tui.pypython monkeytype_tui.pyPress any key to start the test and begin typing. Type the highlighted word and press Space to move to the next one.
| Screen | Key | Action |
|---|---|---|
| Main | Esc |
Restart test |
| Main | Tab |
New test |
| Main | Ctrl+C |
Quit |
| Results | R |
Restart test |
| Results | T |
New test |
| Results | Q |
Quit |
Use the buttons at the top of the screen:
- time — type as much as you can before the timer runs out
- words — type a fixed number of words as fast and accurately as you can
Want your own words? Drop a words.txt file next to the script — one word per line. The app loads it automatically (and falls back to the built-in list if the file isn't found).
This project is open source. Feel free to fork, modify, and use it however you like.