Terminal Output To SVG Animations
Published on
Updated on
With termtosvg
made by Nicolas Bedo we can make SVG animations from terminal output in the style of asciinema. To install use pipx.
pipx install termtosvg
To start recording, run the command termtosvg
termtosvg
It first outputs:
Recording started, enter "exit" command or Control-D to end
At “exit”, by default it will save the animation to a random filename in the tmp folder.
Rendering ended, SVG animation is /tmp/termtosvg_xmadgf9y.svg
To control the default save location, pass in a filename after termtosvg
termtosvg /path/to/savefile.svg
To record only the execution of a particular command, use the flag -c
termtosvg -c neofetch
I recommend that you resize the terminal window so that the frames generated match the desired width and height. You can instead use the -g
flag to pass in a geometry. (“100x30” creates a screen with 100 colums and 30 rows)
Lastly, if you don’t want an animation, you can pass in -s
and the result will be a folder of SVG files representing each frame.
termtosvg -s
Here is an example of an animation I made with this tool: