Skip to content
Record terminal sessions as SVG animations
Branch: develop
Clone or download
Latest commit 8e4b269 Jan 21, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
docs Improve CI/CD pipeline Jan 20, 2019
man Minor fixes for version 0.8.0 Jan 20, 2019
scripts Replace pkg_resources by pkgutil Jul 22, 2018
termtosvg Minor fixes for version 0.8.0 Jan 20, 2019
LICENSE Add licence May 9, 2018 Minor fixes for version 0.8.0 Jan 20, 2019
Makefile Use package test suite Jan 20, 2019 Replace pkg_resources by pkgutil Jul 22, 2018

Build Status Coverage


termtosvg is a Unix terminal recorder written in Python that renders your command line sessions as standalone SVG animations.


  • Produce lightweight and clean looking animations or still frames embeddable on a project page
  • Custom color themes, terminal UI and animation controls via SVG templates
  • Compatible with asciinema recording format


termtosvg is compatible with Linux, macOS and BSD OSes, requires Python >= 3.5 and can be installed using pip:

pip3 install --user termtosvg

Various independently maintained, OS specific packages have been made available by the community:

OS Repository Installation command
Archlinux Arch pacman -S termtosvg
FreeBSD ports
Gentoo media-gfx/termtosvg emerge media-gfx/termtosvg
macOS Homebrew brew install termtosvg
OpenBSD ports
NixOS nixpkgs

Basic usage

Start recording with:

$ termtosvg
Recording started, enter "exit" command or Control-D to end

You are now in a subshell where you can type your commands as usual. Once you are done, exit the shell to end the recording:

$ exit
Recording ended, file is /tmp/termtosvg_exp5nsr4.svg

Finally, use your favorite web browser to play the animation:

$ firefox /tmp/termtosvg_exp5nsr4.svg


termtosvg uses:

  • pyte to render the terminal screen
  • lxml to work with SVG data
You can’t perform that action at this time.