Minimal terminal-based typing speed test with support for dozens of programming languages
- Terminal-based typing with WPM and accuracy tracking
- Multi-language support including English and 30+ programming languages
- Infinite word generation with smooth 3-line scrolling display
- Minimalist TUI built with Bubble Tea and Lipgloss
- Embedded language data for easy distribution
- Accurate metrics following standard typing test calculations
Bash | C | C++ | C# |
Crystal | CSS | Emacs | English 1k |
Erlang | Go | Haskell | HTML |
Java | JavaScript | JSON | Julia |
Lisp | Lua | OCaml | Perl |
PHP | PowerShell | Python | R |
Ruby | Rust | SCSS | SQL |
Swift | TeX | TypeScript | Vala |
Vimscript | Wolfram | YAML | Zig |
yay -S typtea
sudo xbps-install -S typtea
nix profile install nixpkgs#typtea
go install github.com/ashish0kumar/typtea@latest
git clone --depth=1 https://github.com/ashish0kumar/typtea
cd typtea/
go build
sudo mv typtea /usr/local/bin/
typtea -h
# Start a 30-second English typing test (default)
typtea start
# Start a 60-second typing test
typtea start --duration 60
# Start a Rust keywords typing test
typtea start --lang rust
# Combine duration and language
typtea start --duration 45 --lang javascript
# List all available languages
typtea start --list-langs
# Get help
typtea --help
typtea start --help
- The test starts when you begin typing
- Backspace to correct mistakes
- Enter to restart after completion
- Esc to quit the application
git clone https://github.com/ashish0kumar/typtea.git
cd typtea
go mod tidy
go build
./typtea start
- Create a
JSON
file ininternal/game/data/
with the format:
{
"name": "Language Name",
"words": ["word1", "word2", "word3", ...]
}
- Rebuild the application to embed the new language data
Looking for persistent stats or a database-backed version of typtea?
Check out PR #1: Database for storing stats, which adds SQLite-based session tracking and best-score display.
This feature is not in the main branch to keep typtea minimal, but you can use it if you want to track your typing history.
- Bubble Tea - TUI framework
- Lipgloss - Styling and layout
- Cobra - CLI framework
Contributions are always welcome! If you have ideas, bug reports, or want to submit code, please feel free to open an issue or a pull request.
© 2025-present Ashish Kumar