VHS(1)
π VHS(1) β like, the manual manual β¨
okay so bestie, welcome to VHS(1) β it's the man page for vhs, and honestly? she's that girl. read this and you'll be writing terminal GIFs as code like it's nothing π
β¨ NAME β¨
vhs β run a given tape file and generate its outputs. that's it, that's the whole job, and she does it flawlessly π
πΈ SYNOPSIS πΈ
vhs [options...] [argument...]
π¦ DESCRIPTION π¦
VHS lets you write terminal GIFs as code. no cap. literally code. π«Ά
VHS reads .tape files and renders GIFs (videos). the tape file is a script, bestie β it's made up of commands describing what actions to perform in the render π
here's the full list of every possible command in VHS, don't skip any i'm serious:
Output <path>.(gif|webm|mp4)Require <program>Set <setting> <value>Sleep <time>Type "<string>"Ctrl [+Alt][+Shift]+<char>Backspace [repeat]Delete [repeat]Insert [repeat]Down [repeat]Enter [repeat]Left [repeat]Right [repeat]Tab [repeat]Up [repeat]PageUp [repeat]PageDown [repeat]ScrollUp [repeat]ScrollDown [repeat]HideShowWait[+Screen][@<timeout>] /<regexp>/EscapeAlt+<key>Space [repeat]Source <path>.tapeScreenshot <path>.pngCopy "<string>"Paste
π OPTIONS π
-o,--outputβ file name(s) of video output β¨-p,--publishβ publish your GIF tovhs.charm.shand get a shareable URL π-q,--quietβ quiet, like do not log messages. oh but if the publish flag is provided, it will log that shareable URL π€«
π COMMANDS π
help [command]β help about any command π«Άnew <name>β create a new tape file, complete with example tape file contents and documentation πpublish <gif>β publish your GIF tovhs.charm.shand get a shareable URL πrecordβ create a new tape file by recording your actions πΌ- OPTIONS
-s,--shellβ shell for recording
- OPTIONS
serveβ start the VHS SSH server π₯οΈthemesβ list all the available themes, one per line π- OPTIONS
--markdownβ output as markdown
- OPTIONS
validate <file>...β validate a glob file path and parses all the files to ensure they are valid without running them β
β OUTPUT β
the Output command instructs VHS where to save the output of the recording πΎ
file names with the extension .gif, .webm, .mp4 will have the respective file types. yes queen, the extension picks the format π
π SETTINGS π
the Set command allows VHS to adjust settings in the terminal, such as fonts, dimensions, and themes π¨
here's every possible setting command in VHS, all of them, no skipping:
Set Shell <string>Set FontSize <number>Set FontFamily <string>Set Height <number>Set Width <number>Set Rows <number>Set Columns <number>Set LetterSpacing <float>Set LineHeight <float>Set TypingSpeed <time>Set Theme <json|string>Set Padding <number>Set Framerate <number>Set PlaybackSpeed <float>Set WaitTimeout <time>Set WaitPattern <regexp>
π BUGS π
see GitHub Issues: <https://github.com/charmbracelet/vhs/issues> β if something's cursed, that's where the receipts live π
π§ AUTHOR π§
Charm <vt100@charm.sh> π
π COPYRIGHT π
(C) 2021-2022 Charmbracelet, Inc.
released under MIT license π
ok that's the whole page bestie, go make something iconic π
signing off from the vhs manual page, dated 2026-09-25, VHS(1) through and through β mwah πβ¨
π¦ where this page comes from
- arch rolling: vhs 0.12.1-1 Β· MIT
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms