svg-term-cli: Share Terminal Sessions as Razor-Sharp Animated SVGs
This repository profile is provided by osrepos.com, an open source repository discovery platform.
Summary
svg-term-cli is a powerful command-line tool that transforms asciicast recordings into animated SVG files. This allows developers to share high-quality, scalable terminal sessions in places where traditional video or GIF formats fall short, such as GitHub READMEs or npm registry pages. It provides a superior viewing experience with razor-sharp text and customizable styling.
Repository Information
Topics
Click on any tag to explore related repositories
Use at your own risk
OSRepos shares public repositories for knowledge and discovery only. Any installation, execution, configuration, or use of code from these repositories is the user's own responsibility. Always review the repository, source code, dependencies, licenses, and security implications before running or installing anything. OSRepos is not responsible for issues, damages, or losses resulting from third-party repositories.
Introduction
svg-term-cli is a command-line interface tool designed to convert asciicast recordings into animated SVG (Scalable Vector Graphics) files. This innovative approach allows developers to share terminal sessions with exceptional clarity and scalability, making them perfect for documentation, presentations, and web content. Unlike traditional GIF recordings, SVGs maintain their sharpness at any zoom level and can be styled with common terminal color profiles.
Key features include:
- Render asciicast to animated SVG.
- Share asciicasts everywhere, without requiring JavaScript players.
- Style output with various terminal color profiles.
Installation
To get started with svg-term-cli, you first need to install asciinema, which is used for recording terminal sessions.
- Install asciinema: Follow the instructions at https://asciinema.org/docs/installation.
- Install svg-term-cli: Once
asciinemais set up, installsvg-term-cliglobally via npm:
npm install -g svg-term-cli
Examples
Generating an animated SVG from an existing asciicast is straightforward. Here's an example demonstrating how to create the parrot.svg from asciicast ID 113643, including window decorations:
svg-term --cast=113643 --out examples/parrot.svg --window
You can also pipe asciinema recordings directly into svg-term-cli or specify an input JSON file. The tool offers various options for customization, including output file, dimensions, timeline ranges, and cursor visibility.
Why Use It
The primary rationale behind svg-term-cli is to provide a superior alternative to GIF asciicast recordings, especially in environments where the interactive asciinema player cannot be used. This includes common scenarios like README.md files on GitHub or the npm registry.
GIFs often suffer from pixelation and large file sizes, compromising the readability of terminal text. By contrast, svg-term-cli produces vector-based animations, ensuring that text remains razor-sharp and perfectly legible, even when zoomed in. This significantly enhances the quality and professionalism of your project's documentation.
Links
For more information and related projects, check out these resources:
- asciinema/asciinema: Terminal session recorder, available at https://github.com/asciinema/asciinema
- derhuerst/asciicast-to-svg: Render frames of Asciicasts as SVGs, available at https://github.com/derhuerst/asciicast-to-svg
- marionebl/svg-term: Render asciicast to animated SVG, available at https://github.com/marionebl/svg-term
- marionebl/term-schemes: Parse and normalize common terminal emulator color schemes, available at https://github.com/marionebl/term-schemes
Related repositories
Similar repositories that may be relevant next.

Flask-Assets: Seamless Asset Management for Flask Applications
July 26, 2026
Flask-Assets provides robust integration of the `webassets` library with Flask. It simplifies the process of merging, minifying, and compiling CSS and JavaScript files, significantly enhancing web application performance and streamlining development workflows.

webassets: Asset Management for Python Web Development
July 26, 2026
webassets is a robust library designed for asset management in Python web development. It simplifies the process of merging and compressing JavaScript and CSS files, enhancing application performance. This tool is essential for developers looking to optimize their frontend assets efficiently.

Become-A-Full-Stack-Web-Developer: Free Resources for Web Development
July 19, 2026
The Become-A-Full-Stack-Web-Developer repository is an extensive collection of free resources designed to guide aspiring developers through the entire journey of full-stack web development. It covers a wide array of topics, from foundational languages like HTML, CSS, and JavaScript to advanced frameworks such as React and Node.js, alongside databases, APIs, and career preparation. This resource is invaluable for anyone looking to build a strong skill set in modern web development.

Awesome Vue: A Curated List of Essential Vue.js Resources and Projects
July 13, 2026
Awesome Vue is a highly popular and meticulously curated list of everything related to Vue.js, from official resources and tutorials to frameworks, components, and real-world applications. It serves as an indispensable guide for developers looking to explore the vast Vue.js ecosystem. With over 73,000 stars, it is a testament to its value within the community.
Source repository
Open the original repository on GitHub.
19 counted GitHub visits