asciinema is a command-line tool for recording, replaying and live streaming terminal sessions. Instead of capturing a sequence of screen images, it records terminal output in the lightweight asciicast format. This keeps recordings compact while preserving the text-based nature of the terminal.
Recordings can be played directly in a terminal, embedded in web pages using the asciinema player, or published to an asciinema server. The software also supports live streaming, including serving a stream locally with a built-in HTTP server or sending it through a remote asciinema server. The current implementation is written in Rust, replacing the earlier Python-based generation covered by our previous article.
This is free and open source software.
Key Features
- Records terminal sessions to asciicast files with optional keyboard input and environment variable capture.
- Replays recordings with adjustable speed, looping, idle-time limiting and step-by-step navigation.
- Supports markers which can be added while recording and used during playback.
- Pause and resume recording without ending the terminal session.
- Live stream sessions locally through a built-in HTTP server or via a remote asciinema server.
- Record to a file while simultaneously streaming the same session.
- Reads and writes compressed asciicast recordings using zstd compression.
- Converts between asciicast formats and can export terminal output as raw data or plain text.
- Concatenates multiple recordings while automatically adjusting their timing.
- Captures metadata including terminal dimensions, terminal theme, command and recording title.
- Can play recordings from local files, standard input and HTTP or HTTPS URLs.
- Headless operation and exit-status propagation make it suitable for scripted and automated workflows.
- Cross-platform support – runs on Linux, macOS and FreeBSD.
Website: asciinema.org
Support:
Developer: Marcin Kulik and contributors
License: GNU General Public License v3.0
asciinema is written in Python. Learn Python with our recommended free books and free tutorials.
Related Software
| Console Screencasting Tools / Terminal Session Recording | |
|---|---|
| Terminalizer | Generates animated GIF images of your terminal |
| VHS | Wwrite terminal GIFs as code for integration testing and demoing |
| ttyd | Shares your terminal over the web |
| asciinema | Record and share terminal sessions |
| t-rec | Generates animated GIF images for the web |
| agg | asciinema gif generator |
| ttystudio | Excellent terminal-to-gif recorder |
| ffscreencast | Shell wrapper for ffmpeg that allows fool-proof screen recording |
| tty2gif | Record scripts into both binary and gif formats |
| TermRecord | Terminal session recorder with easy-to-share self-contained HTML output |
| IPBT | High-tec terminal player |
| rec | Records terminal sessions and turns them into reusable workflows |
| ttyrec | Terminal recorder, incudes a playback tool |
| termrec | Set of tools for recording and replaying tty sessions |
| screencast | Interface to record a X11 desktop |
| rewindtty | Terminal session recorder and replayer |
| Showterm | Terminal record and upload utility |
| termtosvg | Render SVG animations of shell sessions |
| script | The granddaddy of terminal recorders |
| Shelr | Broadcast plain text screencasts |
Read our verdict in the software roundup.
Explore our carefully curated directory of recommended free and open source software, covering every major software category.The directory forms part of our extensive collection of articles for Linux enthusiasts. It includes hundreds of detailed reviews, together with free and open source alternatives to proprietary software from companies such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk. LinuxLinks also covers interesting projects worth exploring, Linux-compatible hardware, free programming books and tutorials, and much more. Know a useful free and open source Linux application that we haven’t covered? Tell us about it using our submission form. |


Please read our Comment Policy before commenting.