Script a terminal demo once, render it as a GIF or a Reel
VHS reads a short text file, types your commands into a hidden terminal and films it as a GIF, MP4 or WebM. No screen recorder, no typos, no retakes. When your project changes, edit one line and render it again.
.tape script that renders the same demo as a GIF, an MP4 and a WebM in one go- A demo GIF for your GitHub README that you can re-render any time your project changes
- Windows, Mac or Linux, with at least 130MB of free disk space (VHS is about 23MB, ttyd about 1.4MB and FFmpeg about 105MB. winget's FFmpeg is the bigger "full" build, so allow more)
- Google Chrome or Microsoft Edge. VHS uses one of them, hidden, to draw the terminal. Every Windows 11 PC has Edge. If VHS finds neither, it downloads its own copy of Chromium
- Notepad or any text editor
- Helpful but not required: Level 0's terminal survival kit
Install VHS and its two helpers
VHS needs two other free programs: ttyd (a terminal inside a web page) and FFmpeg (which turns frames into video).
VHS is made by Charm, the team behind lots of popular terminal tools. It works in a clever way: it starts a terminal in a web page with ttyd, opens that page in a hidden Chrome or Edge window, types your commands, takes a picture of every frame and hands the frames to FFmpeg to make the GIF or video. You never see any of it happen.
Install all three with winget, one line each:
Windowswinget install --id charmbracelet.vhs -e winget install --id tsl0922.ttyd -e winget install --id Gyan.FFmpeg -eMac, or Linux with Homebrew (installs ttyd and FFmpeg with it)brew install vhsOn Linux without Homebrew, use the package line for your distro from the VHS install guide ↗ (Arch, for example, is
pacman -S vhs), and make surettydandffmpegare installed too: VHS needs both on your PATH.Close the terminal and open a new one, so it can find the new programs. Then check all three are there:
Terminalvhs --version ttyd --version ffmpeg -versionOutputvhs version v0.12.1 (24fa225) ttyd version 1.7.7-40e79c7 ffmpeg version 9.0.2-essentials_build-www.gyan.dev Copyright (c) 2000-2026 the FFmpeg developers ...For the hidden browser, VHS looks for Chrome first, then Edge. You don't need to set anything up.
If it breaks'ffmpeg is not installed. Install it from: http://ffmpeg.org' + 2 more
'ffmpeg is not installed. Install it from: http://ffmpeg.org'
ffmpeg -version works before trying again.'ttyd is not installed. Install it from: https://github.com/tsl0922/ttyd'
ttyd --version prints a version.