Skip to content

Guide · Open source

How to use Terminalizer: record, play and render a terminal GIF

Updated · written with AI from the project's own documentation and checked against our catalogue data

Terminalizer is a free, MIT-licensed command-line tool that records your terminal session into an editable YAML file. From that file you can replay the session in your terminal, render it as an animated GIF, or upload it to get a link to an online player. This guide walks through installing it, recording a demo, rendering a GIF and adjusting its settings.

Terminalizerfaressoft/terminalizer · ★ 16.2k · MIT

Quick start

  1. 1Install Node.js. Install Node.js first. The README says v4 to v16 installs smoothly, and newer versions may need build tools.
  2. 2Install Terminalizer. Run yarn global add terminalizer to install the tool globally.
  3. 3Record a session. Run terminalizer record demo and run the commands you want to capture. Exit the recording when finished.
  4. 4Replay the recording. Run terminalizer play demo to check the recording in your terminal.
  5. 5Render a GIF. Run terminalizer render demo to create an animated GIF from the recording.
  6. 6Adjust the settings. Edit demo.yml or a config file to change frame delays, theme, font or GIF quality, then render again.

Install Terminalizer with yarn

Terminalizer is installed through the package manager yarn. You need Node.js installed first. The README says installation should be smooth with Node.js v4 to v16. For newer Node.js versions, the installation may fail, and you may need development tools to build the C++ add-ons; the README points to node-gyp for that.

  • Install Node.js from nodejs.org.
  • Make sure yarn is available.
  • Install Terminalizer globally.
yarn global add terminalizer

Record your first terminal session

Run the record command with a name for the recording. Terminalizer creates a file with that name and a .yml extension in the current directory. The README says you can open this file in any editor to change its configuration and recorded frames.

terminalizer record demo

Replay and render the recording

Use play to replay the recording in your terminal. Use render to turn the recording into an animated GIF. The README notes that GIF compression is not built in and recommends an external site for that step.

  • play: replays the recording in the terminal.
  • render: writes an animated GIF from the recording.
  • Use --real-timing with play to use the delays as recorded.
terminalizer play demo terminalizer render demo

Set up a global config file

The README recommends creating a global config file with init, which is used instead of the default one. The config command instead copies the default config.yml into your current directory so you can edit it and pass it with the -c option. On Linux and macOS the global directory is under your home directory at ~/config/terminalizer; on Windows it is under AppData.

terminalizer init

Tune the recording and output settings

The config file exposes the main settings. Recording settings include the command to capture, the working directory, cols and rows. Delay settings include frameDelay and maxIdleTime. GIF settings include quality (1 to 100) and repeat, where -1 plays once and 0 loops indefinitely. Terminal settings include cursorStyle, fontFamily, fontSize, lineHeight and letterSpacing. Theme colors can be hex, rgb, hsl or a color name.

  • command: for example /bin/bash -l, ls or any other command.
  • frameDelay: set to auto to use the actual recording delays.
  • repeat: -1 plays once, 0 loops forever, a positive number loops that many times.
  • cursorStyle: block, underline or bar.

Use the render options to control output

Render accepts an output name, a quality value and a step value. The step option skips frames to reduce how many are rendered. Note that the README lists a web player generate command under What's Next, so it is not yet a finished feature.

  • -o, --output: name of the output file.
  • -q, --quality: quality from 1 to 100.
  • -s, --step: values above 1 reduce the number of rendered frames.
terminalizer render demo -o demo.gif -q 80 -s 2

What people use it for

  • Adding an animated GIF of a command-line demo to a project README.
  • Showing a step-by-step terminal workflow in a blog post.
  • Editing frame delays in the YAML file before exporting a GIF.
  • Recording a terminal session without screen-capture software.

Frequently asked questions

Is Terminalizer free?

Terminalizer is released under the MIT licence, according to the project's README and badge. The README does not list any paid tier.

What do I need to install Terminalizer?

You need Node.js and yarn. The README says installation is smooth with Node.js v4 to v16, and newer versions may need development tools to build C++ add-ons.

Does Terminalizer compress GIFs?

No. The README says GIF compression is not implemented yet and recommends an external site, gifcompressor.com, for that step.

Can I edit a recording?

Yes. The recording is saved as a YAML file named after your recording, and the README says you can open it in any editor to edit configurations and recorded frames.

Can Terminalizer create a web player locally?

The README lists the generate command under What's Next, so it should not be relied on as a finished feature. The share command uploads a recording and returns a link to an online player.

What are alternatives to Terminalizer?

The project lists asciinema, vhs, ttyrec and termtosvg as comparable projects. Pick based on whether you need a GIF, a web player or an SVG output.

New agent skills, repos and AI tools — every week

The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.

Our verdict

Terminalizer suits developers who want editable terminal recordings and animated GIFs for a README or blog post, and who are comfortable installing Node.js packages. If you need built-in GIF compression, a small installer with no Node.js setup, or a locally generated web player, look at the other tools in this list.

Install options & downloads