Need help with gotta-go-fast?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.


A command line utility for practicing typing and measuring your WPM and accuracy.

173 Stars 8 Forks Other 130 Commits 2 Opened issues

Services available

Need anything else?

Gotta Go Fast

A command line utility for practicing typing and measuring your WPM and accuracy. Written with brick.


From source using Stack:

$ stack install gotta-go-fast

Download binary (macOS):

$ DEST=~/.local/bin/gotta-go-fast
$ curl https://github.com/callum-oakley/gotta-go-fast/releases/download/v0.3.0.1/macos -fLo $DEST

Download binary (linux):

$ DEST=~/.local/bin/gotta-go-fast
$ curl https://github.com/callum-oakley/gotta-go-fast/releases/download/v0.3.0.1/linux -fLo $DEST


is somewhere in your


has three modes of operation. In all three modes, type through the presented text and then submit with ENTER. You must correct your mistakes before you can submit. Press ESC at any time to restart.

1. Nonsense mode

Run with no file inputs, it will generate nonsense which is statistically similar to English text. Words appear in the nonsense with the same frequency that they appear in actual English. The length of the nonsense can be specified with

) (in characters).
$ gotta-go-fast -w 60


2. Chunk mode

Run with files to sample from, it will sample a random chunk from a random file as input. This works well for code or other text without a clear paragraph structure. Specify the height of the chunk in lines with

$ gotta-go-fast src/*


3. Paragraph mode

Run with files to sample from, and

), it will sample a random paragraph (empty line delimited) from a random file. This works well for prose such as Project Gutenberg books. Reflow text to the target width with
). Specify the maximum and minimum length for a paragraph with
(in characters).
$ gotta-go-fast -prw 60 README.md


In all three modes the width of the text can be set with

), the tab width can be set with
) and the colour of empty (not yet typed) text and of errors can be set with
(ANSI colour codes).

Run with

for details.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.