Convert a code snippet to a shareable PNG with syntax highlighting for a blog post or tweet, without taking a manual screenshot.
Pipe terminal command output directly into Freeze to produce a clean image of a shell session for documentation or a tutorial.
Use the interactive mode to preview and fine-tune visual settings like font, shadow, and padding, then save those settings as defaults for future runs.
| charmbracelet/freeze | agentscope-ai/hiclaw | ergo-services/ergo | |
|---|---|---|---|
| Stars | 4,557 | 4,555 | 4,553 |
| Language | Go | Go | Go |
| Setup difficulty | easy | moderate | moderate |
| Complexity | 1/5 | 4/5 | 4/5 |
| Audience | developer | developer | developer |
Figures from each repo's GitHub metadata at analysis time.
Install via Homebrew, Nix, AUR, or pre-built binary, no compilation needed for most platforms.
Freeze is a command-line tool that turns code files and terminal output into images. You point it at a file, or pipe text into it, and it produces a clean PNG, SVG, or WebP image with syntax highlighting applied. The idea is to make code look presentable when sharing it in a blog post, tweet, or documentation, without taking a manual screenshot. The tool tries to detect the programming language automatically from the file extension or file contents. If it guesses wrong, you can tell it the language explicitly. It supports a wide range of syntax color themes, so you can match the look to your preferences or your brand. Beyond the basic conversion, Freeze offers a lot of visual controls. You can set the font family, font size, and line spacing. You can add rounded corners, a border, a drop shadow, window control decorations (the red, yellow, green dots familiar from macOS), background color, and padding or margin around the code block. If you only want to show a specific range of lines from a file, there is a flag for that too. Output files can be SVG, PNG, or WebP, and you can produce all three formats in one command. For people who prefer a visual interface over typing flags, Freeze includes an interactive mode that lets you adjust settings in real time and see the result update as you go. Any settings you configure interactively are saved to a config file so they become your defaults for future runs. Installation is available through Homebrew on macOS and Linux, through the Nix package manager, through the Arch Linux AUR, or by downloading pre-built binaries from the releases page. If you already have the Go toolchain installed, you can also install it with a single Go command.
A command-line tool that converts code files or terminal output into polished images (PNG, SVG, or WebP) with syntax highlighting, for sharing in blog posts, tweets, or documentation.
Mainly Go. The stack also includes Go.
License details are not described in the explanation, check the repository directly.
Setup difficulty is rated easy, with roughly 5min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.