A browser-based editor for asciinema recordings (.cast files).
100% client-side — no server, no uploads, your files never leave the browser.
Give a try to the live app here: https://the8tre.github.io/casteditor/
- Trim — keep only a time range
- Cut — remove a time range
- Speed — change playback speed globally or within a selection
- Remove Idle — cap long pauses to a maximum gap
- Add Idle — insert a pause of chosen duration at the playhead position
- Normalize Input — even out keystroke timing (recorded with
--stdinoption) - Resize — change terminal dimensions
- Replace Text — find and replace text in output events
- Theme — pick from 12 built-in terminal color themes (asciinema, catppuccin variants, dracula, gruvbox-dark, monokai, nord, solarized-dark/light, tango); theme is stored in the cast header and applied to both the live preview and SVG export
- Undo / Redo — full history (Ctrl+Z / Ctrl+Y)
- Export — download as
asciicast v2or animated SVG (with window chrome and cursor options) - Snapshot — export a single frame at the current playhead position as a static SVG or PNG
- Load Sample — try the editor instantly with a built-in example recording
- Tool options (idle threshold, idle length, key interval) are remembered across sessions via localStorage
brew install asciinema- Follow the directions here: https://docs.asciinema.org/getting-started/
- Format must be
asciicast-v2 - Be sure to use the
--stdinoption if you want the user input to be captured and be able to use the Normalize Input feature - Example:
asciinema record --output-format asciicast-v2 --overwrite --stdin my_nice.cast
npm install
npm run devOpen http://localhost:5173, then drag and drop a .cast file onto the page.
npm run build # outputs to dist/- React 19
- MUI v5
- Vite 5
- asciinema-player v3
- svg-term-browser (browser-compatible build forked from marionebl/svg-term)
- TypeScript