Design and interface · Edition No. 40 · 4 Oct 2026

charmbracelet/freeze

Makes a clean image of code or terminal output from the command line, with syntax colouring.

← Design and interfaceRead the whole edition →

4,866 stars · MIT (read from /blob/main/LICENSE, plain unmodified text, "Copyright (c) 2024 Charmbracelet, Inc") · v0.2.2 (2025-04-01; the GitHub page shows "01 Apr" with no year and the year was settled TWICE, by pkg.go.dev and by the ungh releases mirror — so the newest release is eighteen months old while code was pushed 2026-09-16) · Track this in Scout

Makes a clean image of code or terminal output from the command line, with syntax colouring.

▶Repo detailsthe review · specs · pros & cons · install

What it is

freeze takes a file, or the output of a command, and writes a PNG, WebP or SVG of it with syntax colouring and optional window decoration. It is from the same group that makes the terminal tools vhs and gum.

What it is good for. Anyone who writes documentation, posts about code, teaches, or files bug reports with a snippet in them. It replaces the habit of taking a photo of a terminal window.

Stars4,866
LicenceMIT (read from /blob/main/LICENSE, plain unmodified text, "Copyright (c) 2024 Charmbracelet, Inc")
Latestv0.2.2 (2025-04-01; the GitHub page shows "01 Apr" with no year and the year was settled TWICE, by pkg.go.dev and by the ungh releases mirror — so the newest release is eighteen months old while code was pushed 2026-09-16)
Good
  • MIT, read from the file at /blob/main/LICENSE, plain and unmodified, "Copyright (c) 2024 Charmbracelet, Inc".
  • It installs from Homebrew, Arch, Nix, and as a plain downloaded binary, with Debian and RPM packages too. No runtime to install first if you take the binary.
  • Code was pushed on 16 September 2026, three weeks before this edition.
Watch for
  • The newest release, v0.2.2, is dated 1 April 2025 — eighteen months old. The date carries no year on the GitHub page; it was settled twice, against pkg.go.dev and against the ungh mirror. The project is not dead. The downloadable binary is simply a year and a half behind the code, and the only way to get the newer code is go install, which needs a Go toolchain.
  • Making a PNG needs fonts present and a working terminal environment. On a server with no desktop, font rendering surprises are common, and no memory or disk figure is published.
  • 49 open issues and 29 open pull requests on a small team.
Similar repositories
Install
brew install charmbracelet/tap/freeze
go install github.com/charmbracelet/freeze@latest
yay -S freeze
nix-env -iA nixpkgs.charm-freeze
Screenshots
charmbracelet/freeze: GitHub preview cardcharmbracelet/freeze: Screenshot 1charmbracelet/freeze: Screenshot 2charmbracelet/freeze: Screenshot 3

Get the next edition in your inbox

A dozen repositories, opened and checked. The licence read, the last release dated, and the ones that did not make it named with the reason. It is the half most lists leave out.

No tracking pixels. One click to leave. The archive stays free either way.

We use your address to send the edition and nothing else. Confirm by email, leave in one click. How we handle it.