Smassh: A TUI typing test inspired by MonkeyType, now with nerd font icons
S

Smassh: A TUI typing test inspired by MonkeyType, now with nerd font icons

Smassh: A TUI typing test inspired by MonkeyType, now with nerd font icons

UI
2,007 stars
N/A forks
N/A contributors

README

Project documentation from GitHub

Smassh: A TUI Typing Test That’ll Make You Ditch MonkeyType (Yes, Really)

You know the drill: you want to practice typing, but the browser version of MonkeyType feels like overkill. You open a tab, wait for a page to load, and try not to get distracted by notifications. What if you could just stay in your terminal, press a key, and start typing?

Enter Smassh — a TUI (Terminal User Interface) typing test that’s basically MonkeyType but for the command line. No browser, no fuss, just your terminal and a nerd font icon drop.

What It Does

Smassh is a lightweight typing test you run in your terminal. It shows you a list of words (or a custom phrase), and you type along. It tracks your speed (WPM), accuracy, and even gives you a nice chart at the end. The interface is clean, colorful, and powered by nerd font icons so it looks sharp even in a dark terminal.

The whole thing is written in Python and uses the curses library under the hood. It’s self-contained, fast, and works on Linux, macOS, and even Windows (with some terminal setup).

Why It’s Cool

Most terminal typing tests are either bare-bones or look like they fell out of 1995. Smassh isn’t. Here’s what makes it stand out:

  • Nerd font icons — The interface uses glyphs for things like the timer, WPM counter, and accuracy percentage. It’s a small touch, but it makes the TUI feel polished and modern.
  • Custom word lists — You can use the built-in dictionary, or load your own from a file. Great for practicing code syntax or domain-specific terms.
  • Configurable — Change the number of words, time limits, or even the color scheme via a simple config file.
  • No internet required — Once installed, it works completely offline. Perfect for coding on a plane or in a coffee shop with spotty Wi-Fi.
  • Lightweight — It’s one Python file with minimal dependencies. You can install it with pip and forget about it.

For developers, this is a great way to warm up your fingers before a big coding session, or to practice typing without leaving your terminal.

How to Try It

Getting started is simple. You’ll need Python 3.7+ and a terminal that supports nerd fonts (like Kitty, Alacritty, or WezTerm).

  1. Install via pip:

    pip install smassh
    
  2. Run it:

    smassh
    

Did you like this issue?

Join our weekly newsletter

Related Projects

Love discovering amazing projects?

Help us continue bringing you the best open-source discoveries every week.

Back to Projects
Last updated: Jun 5, 2026