Skip to content

v0.1.0 — pixel-perfect terminal screenshots

Choose a tag to compare

@russmckendrick russmckendrick released this 05 Jul 14:09

The first release of terminal-svg — a single self-contained binary that turns terminal output into pixel-perfect SVG screenshots, complete with macOS-style window chrome. The image above is its own output.

Highlights

  • Three capture modes — run a command in a real PTY (terminal-svg -- lsd -la), pipe ANSI through stdin, or render a captured dump file.
  • Real terminal emulation — output goes through a proper VT state machine (asciinema's avt), so carriage-return progress bars, ESC[K clears, and cursor-repaint spinners resolve to exactly the final screen — no regex-stripped artefacts.
  • Embedded font subsetting — only the glyphs you actually used are embedded as WOFF2 (typically a few KB), so the SVG renders identically everywhere: GitHub READMEs, blogs, machines with no fonts installed. Nerd Font powerline segments, box drawing, and wide CJK all align on the grid; emoji render through the viewer's native colour font.
  • Full ANSI fidelity — truecolor, 256-colour, the classic 16, bold/dim/italic/underline/strikethrough/inverse.
  • 7 built-in themesdracula (default), catppuccin-mocha, nord, tokyo-night, github-dark, github-light, solarized-dark — plus custom themes from a small TOML file.

Install

brew install russmckendrick/tap/terminal-svg

Or grab a binary below (macOS arm64/amd64, Linux arm64/amd64, Windows amd64 — each with a SHA-256 checksum).

Quick start

terminal-svg --title "the proof" -o shot.svg -- cargo test

Docs: README · theme format · how it works

Bundled JetBrainsMono Nerd Font faces are under the SIL OFL; the code is MIT.

Full Changelog: https://github.com/russmckendrick/terminal-svg/commits/v0.1.0

Full Changelog: https://github.com/russmckendrick/terminal-svg/commits/v0.1.0