Alaska

VHS – write terminal GIFs as code

VHS creates terminal demonstrations from simple text-based scripts known as tape files. Instead of manually recording a perfect run through a command-line program, you describe the terminal dimensions, commands, keystrokes, pauses and other actions that should occur. VHS then executes the instructions in its virtual terminal and renders the result.

This makes demonstrations reproducible. A tape can be kept alongside a software project, edited like source code and regenerated whenever commands or output change. VHS can also work in the other direction by recording terminal actions into a tape file which can subsequently be edited.

The approach is particularly useful for command-line documentation, automated demonstrations and integration testing where repeatability matters more than capturing a spontaneous terminal session.

This is free and open source software.

Key Features

  • Script terminal demonstrations with human-readable tape files.
  • Output animations as GIF, MP4 or WebM, or export individual frames as PNG images.
  • Record interactive terminal actions and convert them into editable tape instructions.
  • Control terminal width and height using pixels or character rows and columns.
  • Configure font family, font size, letter spacing and line height.
  • Choose terminal colour themes or define a custom theme.
  • Adjust typing speed globally or for individual commands.
  • Simulate text entry, cursor keys, control-key combinations, scrolling and other keyboard operations.
  • Wait for text or other conditions before continuing a scripted sequence.
  • Hide commands from the rendered output while still executing them.
  • Take screenshots at selected points during a demonstration.
  • Source reusable commands from other tape files.
  • Set environment variables and declare programs required by a tape.
  • Control frame rate, playback speed, loop offset and cursor blinking.
  • Includes an SSH server so VHS can be self-hosted and invoked remotely.
  • Can publish rendered demonstrations for convenient sharing.

Website: github.com/charmbracelet/vhs
Support:
Developer: Charmbracelet, Inc
License: MIT License

vhs options

VHS is written in Go. Learn Go with our recommended free books and free tutorials.


Related Software

Console Screencasting Tools / Terminal Session Recording
TerminalizerGenerates animated GIF images of your terminal
VHSWwrite terminal GIFs as code for integration testing and demoing
ttydShares your terminal over the web
asciinemaRecord and share terminal sessions
t-recGenerates animated GIF images for the web
aggasciinema gif generator
ffscreencastShell wrapper for ffmpeg that allows fool-proof screen recording
IPBTHigh-tec terminal player
recRecords terminal sessions and turns them into reusable workflows
TermSVGRecord terminal sessions and export them as animated SVG files
termrecSet of tools for recording and replaying tty sessions
screencastInterface to record a X11 desktop
scriptThe granddaddy of terminal recorders

Read our verdict in the software roundup.


Best Free and Open Source Software Explore our carefully curated directory of recommended free and open source software, covering every major software category.

The directory forms part of our extensive collection of articles for Linux enthusiasts. It includes hundreds of detailed reviews, together with free and open source alternatives to proprietary software from companies such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk.

LinuxLinks also covers interesting projects worth exploring, Linux-compatible hardware, free programming books and tutorials, and much more.

Know a useful free and open source Linux application that we haven’t covered? Tell us about it using our submission form.
Subscribe

Please read our Comment Policy before commenting.

Notify of
guest
0 Comments
Oldest
Newest Most Voted