by samtay

samtay / tetris

A terminal interface for Tetris

464 Stars 25 Forks Last release: over 1 year ago (0.1.4) Other 94 Commits 5 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:

tetris Build Status

A terminal interface for Tetris



Installation on MacOS and Linux is outlined below. Windows support is questionable, but you can try to install from source.


Installation on a Mac is simple with Homebrew:

brew install samtay/tui/tetris

Arch Linux

Arch Linux users can install from the AUR, e.g.

yay -S tetris-terminal-git # or yaourt, etc.


Thanks to @thefenriswolf this is available on most Linux distributions via snapcraft:

sudo snap install tetris-thefenriswolf
alias tetris=/snap/bin/tetris-thefenriswolf.tetris # add to .bashrc or .zshrc etc.

install from source

First get stack. Then

git clone https://github.com/samtay/tetris.git
cd tetris
stack install tetris


The default game is run by simply executing the

command. If the unicode characters look a bit wonky in your terminal, you can also run ```shell tetris --ascii-only # uses [] as preview cell


tetris --preview-chars 'XX' # uses custom characters as preview cell

If you want to skip the level prompt, you can start the game immediately via
shell tetris --level n ``
Lastly, to see the current high score, you can run
tetris --high-score
And of course, see
tetris --help` for help.



People seem to have varying levels of success with the linux binary. Please note that it is compiled dynamically and hence should not be expected to work on most distros. If you have other problems, feel free to open an issue.

roll your own

If you like games in your terminal and have an interest in functional programming, write your own! This code is built on top of brick which makes building terminal user interfaces very accessible. I also have a tutorial that can help you get started.

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.