Create animated GIFs of command-line tool demos for GitHub READMEs and documentation.
Generate consistent, reproducible terminal session videos for presentations and tutorials.
Write integration tests that verify what your terminal program displays on screen.
Document complex CLI workflows by scripting terminal actions instead of manual recording.
Requires ffmpeg and ttyd to be installed; VHS itself is a Go binary but dependencies need to be available on PATH.
VHS is a tool for creating animated GIFs or video recordings of terminal sessions by writing a simple script, called a "tape file", rather than manually screen-recording while you type. Instead of capturing a video in real time, you write out the sequence of actions you want (type this command, press Enter, wait two seconds) in a plain text file, then run VHS to produce a polished, repeatable GIF or video. This means your terminal demos are reproducible and version-controlled just like code. A tape file looks like readable instructions: you specify the output filename, configure the terminal size and font, then list actions like typing a command, pressing a key, or pausing for effect. VHS drives a virtual terminal behind the scenes, executes those actions, and records the result using ffmpeg (a widely used video tool) and ttyd (a terminal-over-browser utility). The output can be a GIF, MP4, or WebM video, or even a sequence of PNG frames. You would reach for VHS when you want to document a command-line tool with a GIF for a GitHub README, create consistent demos for a presentation, or run integration tests that verify what your terminal program actually displays. It can also run as an SSH server so you can use it remotely without installing dependencies locally. VHS is written in Go and installable via Homebrew, package managers, Docker, or a Go install command.
Generated 2026-05-18 · Model: sonnet-4-6 · Verify against the repo before relying on details.