Write Markdown. Every code block becomes a live terminal recording, browser walkthrough, or GUI demo— regenerated automatically on every push.
No screencasting software. No retakes. No stale recordings. Your docs rebuild themselves.
Add HTML comment directives to code blocks. Or skip them entirely — sensible defaults handle most cases.
md2cast executes real commands, captures terminal output, drives your browser via Playwright, and records everything.
Get a static HTML docs site with embedded players. Wire to CI and every merge regenerates every recording automatically.
Your Markdown doesn't change. md2cast transforms how readers experience every code block.
The only tool that generates animated walkthroughs across all three environments from a single Markdown source.
Executes real commands and records output. Type delays, custom prompts, syntax highlighting, multiple themes. 9 directives included free.
Full Playwright integration. Navigate, click, type, screenshot — all described in Markdown comments. Outputs video or GIF of real browser interactions.
Desktop automation via xdotool/ydotool. Capture real app interactions — window focus, mouse, forms — without recording manually.
Chain terminal → browser → GUI in one Markdown document. Document an entire user journey — install, configure, use the web dashboard, open the desktop app — with a single source of truth that rebuilds on every push.
HTML comments in your Markdown. Every directive is optional — remove them all and md2cast still works.
| Directive | What it does |
|---|---|
| <!-- exec --> | Execute the command block for real and capture actual output |
| <!-- no-exec --> | Skip execution, just type the block for demonstration |
| <!-- type-delay N --> | Set typing speed in ms per character (default 35) |
| <!-- prompt "text" --> | Override the terminal prompt for the next block |
| <!-- output "text" --> | Inject a static output line after the command |
| <!-- view-exec --> | Show the command being typed, then execute for real output |
| <!-- clear --> | Clear the terminal screen at this point |
| <!-- skip --> | Exclude this block from the screencast entirely |
| <!-- pause N --> | Hold on the current frame for N seconds |
| <!-- browser --> | Switch to Playwright browser capture mode (Pro) |
| <!-- gui --> | Switch to desktop GUI capture mode (Pro) |
| Flag | What it does |
|---|---|
| --gif | Also generate a GIF via agg |
| --execute | Run all bash blocks and capture real output |
| --render | Generate Markdown with GIFs embedded above each code block |
| --render-html | Generate HTML page with interactive asciinema players |
| --embed | Self-contained HTML — cast data inline, no external files |
| --split | One .cast per ## section |
| --section N | Render only section N |
| --list | List all sections in the document |
| --cols N | Terminal width (default: 110) |
| --rows N | Terminal height (auto-sized to content) |
| --theme FILE | Custom theme JSON for colors, timing, player settings |
| --init-theme | Print a default theme JSON to stdout |
| -o FILE | Custom output path |
| -C DIR | Working directory for executed commands |
Run bash commands for real and record actual output. No fake screenshots, no manually crafted responses. What you see is what runs.
Custom colors, fonts, and terminal sizes via JSON config. Python, YAML, JSON, and more auto-highlighted with Pygments. Any Pygments theme.
--render-html builds a complete static docs site with embedded asciinema players, syntax highlighting, and responsive layout. Zero server needed.
--split generates one .cast per section. Perfect for multi-step tutorials where you want individual playback per chapter.
--gif converts any cast to an embeddable GIF. Video-to-GIF via ffmpeg included in Pro. Drop recordings into READMEs, Notion, anywhere.
Wire md2cast to your CI. Every merge rebuilds every recording with real output from your latest code. Docs never go stale again.
Show your agent running end-to-end. Every framework needs "watch it work" moments. md2cast makes them automatic.
Stop losing users at the README. Turn your install guide into a live demo. Same source you already maintain.
Replace Loom recordings that go stale. Your demo regenerates on every release. Ship once, maintain never.
Reproducible workflows with visual proof. Pipelines, ML experiments — documented and verifiable.
Product walkthroughs always accurate. Browser and GUI capture means your demo matches the latest version.
Tutorials that run themselves. Every code example is a live recording. Learners see exactly what happens.
md2cast is the only tool that connects both from a single Markdown source with automatic rebuild.
| Tool | Writes docs | Animated code | Browser capture | Auto-rebuild | Single source |
|---|---|---|---|---|---|
| GitBook | ✓ | — | — | ✓ | — |
| Mintlify | ✓ | — | — | ✓ | — |
| ReadMe | ✓ | — | — | ✓ | — |
| VHS | — | ✓ | — | — | — |
| Asciinema | — | ✓ | — | — | — |
| Loom / Arcade | — | ✓ | ✓ | — | — |
| md2cast | ✓ | ✓ | ✓ | ✓ | ✓ |
Free tier is genuinely useful — not a stripped-down teaser. Pro unlocks browser, GUI, and unlimited scale.
Install in 30 seconds. Your first screencast in under 2 minutes.