Transform your command-line output into clean, shareable images with a single command.
Shellshot is a fast, cross-platform tool written in Rust that captures terminal sessions and transforms them into polished screenshots. Perfect for documentation, presentations, social media, or showcasing terminal workflows.
Features
- Beautiful Rendering: High-quality image generation with customizable window decorations
- ANSI Support: Correctly renders ANSI colors, styles, and formatting.
- Clipboard Integration: Copy screenshots directly to your clipboard with one flag
- Command Execution: Execute commands and capture their output automatically
- Customizable: Adjust window decorations, colors, padding, and output filename.
- Cross-Platform: Works on Windows and Linux
Installation
Usage Examples
Basic Usage
This will execute the command, capture its output, and generate an image file named out.png in the current directory.


Command Options
--no-decoration
Remove window decorations (title bar and control buttons):
--decoration <style> / -d
Specify the decoration style (default: classic):
--filename / -f
Specify a custom output filename:
--clipboard
Copy the screenshot directly to your clipboard:
Examples
Known Issues
- Shellshot uses Rust’s standard library
Commandto capture command output. This means the output might not exactly match what you would see in a real terminal. - On Windows, the captured command output may have decoding issues with accented or special characters because
cmd.exedoes not use UTF-8 by default. std::process::Commandis not compatible with shell pipelines or redirections (e.g.,ls | grep txtwill not work as expected). You would need to run a shell explicitly to handle these.- Some commands that rely on interactive terminal features may not display correctly in the generated images.
- Not all ANSI codes are fully implemented, so some complex formatting, colors, or cursor movements may not render perfectly.