# Terminalizer — Record Terminal Sessions to Animated GIF > A Node.js tool that records terminal sessions and renders them as animated GIF images or shareable web recordings for documentation and demos. ## Install Save as a script file and run: # Terminalizer — Record Terminal Sessions to Animated GIF ## Quick Use ```bash npm install -g terminalizer terminalizer record demo # Perform your terminal actions, then press Ctrl+D to stop terminalizer render demo # Output: demo.gif ``` ## Introduction Terminalizer captures everything happening in your terminal session and replays it as an animated GIF or web-based recording. It is designed for creating documentation, tutorials, and README demos that show terminal workflows in action without requiring viewers to watch a video. ## What Terminalizer Does - Records terminal input and output with precise timing information - Renders recordings into animated GIF files with customizable quality - Supports custom frame delays, cursor styles, and terminal themes - Generates shareable YAML recording files that can be edited before rendering - Allows sharing recordings via terminalizer.com web player ## Architecture Overview Terminalizer uses node-pty to create a pseudo-terminal that captures all output bytes and timing. The recording is stored as a YAML file containing frame data (content + delay pairs). The render step processes each frame through a headless terminal emulator, captures screenshots as PNG, then assembles them into a GIF using gifencoder with optimized palette quantization. ## Self-Hosting & Configuration - Install globally via npm: npm install -g terminalizer - Initialize config with terminalizer init to create ~/.terminalizer/config.yml - Configure output dimensions (cols, rows), GIF quality, and repeat count - Set custom fonts and themes in the YAML configuration - Edit recording YAML files to adjust timing or remove frames before rendering ## Key Features - Editable recordings: modify YAML to fix typos or adjust timing post-capture - Configurable frame delay, quality, and maximum frame count - Built-in themes and custom color scheme support - GIF optimization with lossy compression for smaller file sizes - Web sharing platform for interactive playback without GIF limitations ## Comparison with Similar Tools - **asciinema** — text-based recording format; lighter but no native GIF export - **VHS (Charm)** — script-driven approach; writes commands in a file rather than recording live - **ttyrec/ttygif** — older Unix tools; less portable and fewer export options - **Peek** — screen recorder for Linux; captures pixels not terminal state ## FAQ **Q: How do I reduce the GIF file size?** A: Lower the quality setting in config, reduce cols/rows, or use the -q flag during render. Editing the YAML to remove idle frames also helps. **Q: Can I edit the recording after capturing?** A: Yes, the recording is a plain YAML file. You can change delays, remove frames, or even modify the displayed text. **Q: What terminal features are supported?** A: Full ANSI escape sequences, 256 colors, and Unicode. TrueColor support depends on the renderer. **Q: Can I use custom fonts in the GIF output?** A: Yes, specify the font family in the config file. The font must be installed on the rendering machine. ## Sources - https://github.com/faressoft/terminalizer - https://terminalizer.com --- Source: https://tokrepo.com/en/workflows/asset-924d758d Author: Script Depot