terminal‑svg
Your terminal.
Rendered beautifully.
Pixel-perfect SVG screenshots and animated recordings of your terminal. From one small Rust binary.
This isn't a video. It's a 44 KB SVG, recorded with terminal‑svg rec.
True to every character.
Other tools strip escape codes and hope. terminal‑svg runs your output through a real virtual terminal — the same state machine behind asciinema — so progress bars, carriage returns and cursor tricks land exactly where they should.
Your fonts fly first class.
Every SVG embeds a JetBrains Mono Nerd Font, subsetted to just the glyphs you used and compressed as WOFF2. Send it anywhere. It renders identically — no fonts installed, no fallbacks, no surprises.
Record. Replay.
Relive.
terminal‑svg rec captures a live session and replays it as an animated SVG. GIF‑quality demos at a fraction of the size. Asciicast v2 in and out, so your old asciinema recordings play too.
terminal-svg rec -o demo.svgterminal-svg demo.cast -t nord -o replay.svgNine stunning finishes.
Dracula to Solarized, with Catppuccin, Nord, Tokyo Night and both GitHubs in between — plus PowerShell and Ubuntu in their native window chrome. Or bring your own — any TOML file with sixteen colors works.
Dracula
Speaks fluent emoji.
And 漢字.
Double-width characters are measured and placed correctly. Emoji render through native color fonts. Your terminal is international — your screenshots are too.
Works the way you work.
Run a command. Pipe some output. Render a file. However it arrives, one SVG comes out.
terminal-svg -- lsd -lals --color=always | terminal-svg -o ls.svgterminal-svg dump.ansi -t nord -o dump.svgGet terminal‑svg.
Version 0.3.0 — released 6 July 2026. See what's new
brew install russmckendrick/tap/terminal-svggit clone https://github.com/russmckendrick/terminal-svg && cd terminal-svg && cargo build --release