asciinema
Record and share terminal sessions
TLDR
Associate the local install of asciinema with an asciinema.org account
Make a new recording and save it to a local file (finish it with
Replay a terminal recording from a local file
Replay a terminal recording hosted on
Make a new recording, limiting any idle time to at most 2.5 seconds
Print the full output of a locally saved recording
Upload a locally saved terminal session to asciinema.org
Stream the current terminal on a local webpage
SYNOPSIS
asciinema [-h|--help] [-V|--version] <COMMAND> [<args>]
Commands: rec, play, cat, upload, auth, server, install, uninstall
PARAMETERS
-h, --help
Show help message and exit
-V, --version
Display asciinema version
DESCRIPTION
Asciinema is a versatile open-source tool designed to record and replay terminal sessions with precise timing and styling. Unlike traditional screen recordings, it produces compact, JSON-based files called asciicasts (v2 format), which are lightweight, text-searchable, and easily embeddable in websites via the Asciinema player.
This makes it ideal for tutorials, demos, bug reports, and documentation. Sessions capture exact input/output, cursor movements, and colors from your shell.
Key workflow: Launch asciinema rec to begin recording (outputs a local .cast file), stop with Ctrl+D or exit. Replay locally with asciinema play file.cast, adjusting speed or idle time. Share by uploading to asciinema.org using asciinema upload, generating a unique URL for playback.
Supports custom commands, environment vars, titles, and limits like duration or idle detection. Cross-platform (Linux, macOS, BSD, WSL), with players for terminals, browsers, and VS Code. No root required; binaries available via package managers or direct download.
CAVEATS
Subcommands have extensive options; use asciinema <command> --help for details. Recordings may miss graphical elements outside terminal output. Uploads require account on asciinema.org.
POPULAR REC OPTIONS
-c CMD: Command to run; -t TITLE: Set title; -d SECS: Duration limit; --idle-time SECS: Idle detection; -w COLS x ROWS: Terminal size
POPULAR PLAY OPTIONS
-s SPEED: Playback speed (e.g. 2x, 10x); --idle-time SECS: Skip idle; -w COLS x ROWS: Set dimensions
HISTORY
Created by Marek Kašík in 2013 as a modern alternative to tools like script(1). Initial release on GitHub; reached v1.0 in 2014. Evolved to asciicast v2 JSON format (2015) for better web support. Actively maintained with 10k+ stars; binaries for easy install since v2.0 (2018). Widely used in docs, CI/CD, and education.
SEE ALSO
script(1), ttyrec(1), scriptreplay(1)


