
asciinema
Open-source CLI for recording, replaying and live-streaming terminal sessions using lightweight asciicast files and an embeddable web player.

asciinema is an open-source command-line tool for recording, replaying and live-streaming terminal sessions. It captures terminal output in a compact asciicast format and provides a web player for embedding recordings in documentation and blogs.
Key Features
- Record terminal sessions from the shell and save them as lightweight asciicast files that preserve text and timing information.
- Replay recordings directly in a terminal or via a browser-based player that renders sessions textually rather than as video.
- Embeddable web player implemented with JavaScript and Rust (WASM), available as an npm package or standalone bundle for integration into docs and websites.
- Live streaming support: local built-in HTTP streaming and relay streaming to an asciinema server for real-time viewers.
- Recordings are downloadable and compatible with tools for offline conversion and processing; recordings compress well with common compressors.
- Cross-Unix support: runs on GNU/Linux, macOS and FreeBSD; distributed via Cargo builds and prebuilt packages; repository includes Docker and Nix build artifacts.
Use Cases
- Create interactive CLI demos and tutorials for developer documentation, blog posts and public guides.
- Record troubleshooting sessions or reproduce terminal workflows to share with colleagues for debugging and onboarding.
- Present live terminal-based demos or stream hands-on sessions to remote viewers during talks and workshops.
Limitations and Considerations
- The primary CLI generation (current major version) is not supported on Windows; supported platforms are GNU/Linux, macOS and FreeBSD.
- The official hosting site does not provide built-in GIF conversion; external utilities are required to convert cast files to animated GIFs or video formats.
asciinema is a lightweight, developer-focused solution for capturing and sharing terminal activity that emphasizes text fidelity, easy embedding, and low storage overhead. It is especially useful for documentation, teaching and reproducible terminal demonstrations.