Skip to content

Design philosophy

console2svg is a CLI tool designed to convert terminal output into accurate, high-quality vector images (SVG) and videos.

console2svg is developed based on the following design principles.

I am a Windows user. (Well, most people probably are.)
Honestly, I am tired of tools that only document brew installation.

Therefore, console2svg aims to run on the major Linux/macOS/Windows platforms.

One motivation for developing console2svg was that this kind of conversion tool often requires advanced combinations of many different pieces, which was very tedious.
console2svg aims to be usable immediately after installation.

  • In Linux/macOS environments, all dependencies except ffmpeg are built into the binary.
  • In Windows environments, everything including ffmpeg is bundled in the release archive.
    • The bundled binary uses btbN/FFmpeg-Builds.
    • This is because separately installing and configuring the path for ffmpeg on Windows is troublesome.

console2svg emphasizes not making users do unnecessary work.
Examples include features such as interactive capture and tmux support.

console2svg aims to reproduce terminal output as faithfully as possible.

To improve maintainability, console2svg aims to use as few packages as possible.