Convert ttyrec files to animated gifs
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Call with a single argument, the ttyrec to convert.

This program directly emulates the VT100 screen in Python and converts to a GIF in-memory. This is significantly faster than the screenshotting methods.

You'll need the Python packages pyte, Pillow, and numpy installed to run it. I'd recommend setting up a virtualenv for this:

virtualenv venv
source venv/bin/activate
pip install numpy pyte Pillow

Now, find a ttyrec you want. Example: download a fun NetHack ttyrec for an ascension from (you may need to bunzip2 it).

Then run

./ttyrec yourttyrecfilehere

Outputs out00000.gif, out00001.gif, etc., that are roughly 5 minutes long.

If you want a full GIF, just run:

convert out*.gif combined.gif

Or, to do the same thing with optimization (which will probably be very, very slow):

convert out*.gif -layers Optimize combined.gif


There is an example directory, but here's some example output:

The beginning of a NetHack ascension by Maud: Maud ascension

Mac Screensaver

You can use the included gif-screensaver.qtz to use these animated GIFs as a screensaver for Macs (written in Quartz Composer), or download the prepackaged Nethack Screensaver with some GIFs preloaded.


There appear to be occasional screen artifacts. I believe this is a bug in the GIFs, possibly from ImageMagick.