Baike.dev
All toolsAI codingTrendingOpen sourceNewsSubmit
Log in
< Back to tools
T

ttyper

> 开发工具
Open source

Terminal-based typing test.

1.6K stars0 likes0 views
WebsiteGitHub

About

Terminal-based typing test.

ttyper

ttyper is a terminal-based typing test built with Rust and Ratatui.

chat

If you're interested in contributing to ttyper, need help with an issue, or just want to hang out, you should join the development Discord server.

installation

pre-built binaries

Pre-built binaries are available for most architectures on GitHub releases. If your system is not supported or you have another problem, feel free to open an issue.

cargo

cargo install ttyper

arch linux

pacman -S ttyper

nix

nix-env -iA nixpkgs.ttyper # or nixos.ttyper on NixOS

scoop

scoop install ttyper

usage

For usage instructions, you can run ttyper --help:

…

examples

command test contents ttyper 50 of the 200 most common english words ttyper -w 100 100 of the 200 most common English words ttyper -w 100 -l english1000 100 of the 1000 most common English words ttyper --language-file lang 50 random words from the file lang ttyper text.txt contents of text.txt split at newlines

languages

The following languages are available by default:

name description c The C programming language csharp The C# programming language english100 100 most common English words english200 200 most common English words english1000 1000 most common English words english-advanced Advanced English words english-pirate 50 pirate speak English words french100 100 most common French words french200 200 most common French words french1000 1000 most common French words german 207 most common German words german1000 1000 most common German words german10000 10000 most common German words go The Go programming language html HyperText Markup Language java The Java programming language javascript The Javascript programming language norwegian 200 most common Norwegian words php The PHP programming language portuguese 100 most common Portuguese words portuguese200 200 most common Portuguese words portuguese1000 1000 most common Portuguese words portuguese-advanced Advanced Portuguese words python The Python programming language qt The QT GUI framework ruby The Ruby programming language rust The Rust programming language thai 4000 most common Thai words spanish 100 most common Spanish words sql Structured Query Language ukrainian 100 most common Ukrainian words russian 100 most common Russian words russian1000 100 most common Russian words russian10000 10000 most common Russian words

Additional languages can be added by creating a file in TTYPER_CONFIG_DIR/language with a word on each line. On Linux, the config directory is $HOME/.config/ttyper; on Windows, it's C:\Users\\user\AppData\Roaming\ttyper; and on macOS it's $HOME/Library/Application Support/ttyper.

config

Configuration is specified by the config.toml file in the config directory (e.g. $HOME/.config/ttyper/config.toml).

The default values with explanations are below:

…

style format

The configuration uses a custom style format which can specify most ANSI escape styling codes, encoded as a string.

Styles begin with the color specification, which can be a single color (the foreground), or two colors seperated by a colon (the foreground and background). Colors can be one of sixteen specified by your terminal, a 24-bit hex color code, none, or reset.

After the colors, you can optionally specify modifiers seperated by a semicolon. A list of modifiers is below:

  • bold
  • crossed_out
  • dim
  • hidden
  • italic
  • rapid_blink
  • slow_blink
  • reversed
  • underlined

Some examples:

  • blue:white;italic specifies italic blue text on a white background.
  • none;italic;bold;underlined specifies underlined, italicized, and bolded text with no set color or background.
  • 00ff00:000000 specifies text of color #00ff00 (pure green) on a background of #000000 (pure black).

In extended Backus-Naur form:

…

border types

The following border types are supported in the config file.

  • plain
  • rounded (default)
  • double
  • thick
  • quadrantinside
  • quadrantoutside

If you're familiar with serde, you can also read the deserialization code.

GitHub Issues· 0 open

View all on GitHub

No open issues yet, or sync has not completed.

Highlights

  • •crossed_out
  • •rapid_blink
  • •slow_blink
  • •reversed
  • •underlined
  • •blue:white;italic specifies italic blue text on a white background.
  • •none;italic;bold;underlined specifies underlined, italicized, and bolded text with no set color or background.
  • •00ff00:000000 specifies text of color #00ff00 (pure green) on a background of #000000 (pure black).
  • •rounded (default)
  • •quadrantinside

> Tags

Rustclirustterminalterminal-based

No comments yet. Be the first to share.

> Details

PublishedAug 1, 2026
UpdatedSep 17, 2026
Category开发工具
PricingOpen source

> Related tools

V
VS Code
流行的开源代码编辑器
G
Git
分布式版本控制系统
V
Vite
下一代前端构建工具