Minimal terminal-based typing speed test with support for dozens of programming languages

| 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 installgo 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
git clone https://github.com/ashish0kumar/typtea.git
cd typtea
go mod tidy
go build
./typtea start
JSON file in internal/game/data/ with the format:{
"name": "Language Name",
"words": ["word1", "word2", "word3", ...]
}
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.
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.
<img src="https://raw.githubusercontent.com/catppuccin/catppuccin/main/assets/footers/gray0_ctp_on_line.svg?sanitize=true" />
<i><code>© 2025-present <a href="https://github.com/ashish0kumar">Ashish Kumar</a></code></i>
$ claude mcp add typtea \
-- python -m otcore.mcp_server <graph>