Carbon.now.sh is still the reference point for turning code into an image, and it is worth saying up front that it has not gone anywhere. The project has over 36,000 stars on GitHub, it is still open source, and it is still free. If it does what you need, you do not need this page.
But "does what you need" is doing a lot of work in that sentence. People go looking for an alternative for fairly specific reasons: they want to stop leaving their editor, they want their code to stay on their machine, they want to script the whole thing, they want animation, or they want the export to come out at exactly the size a platform expects. Each of the tools below is better than Carbon at one of those things and worse at others.
Full disclosure before you read on: Codeshot is ours. It is number five, it is not first, and the section on it lists the reasons you would not pick it.
The short version
| Tool | Runs in | Cost | Pick it for |
|---|---|---|---|
| ray.so | Browser | Free | The fastest path to a decent image |
| Chalk.ist | Browser | Free, open source | Closest to Carbon, with diff mode |
| CodeImage | Browser | Free, open source | Keeping a library of snippets |
| CodeSnap | VS Code | Free | Never leaving the editor |
| Codeshot | macOS app | $5.99 once | Offline work and exact export sizes |
| Snappify | Browser | Free tier, $5/mo+ | Animation and presentations |
| freeze | Terminal | Free, open source | Scripting and terminal output |
1. ray.so
Made by the Raycast team, ray.so is the one to reach for when you want an image in about fifteen seconds. Paste, pick one of a small set of gradient backgrounds, export as PNG or SVG. The deliberate lack of options is the point — there is very little to fiddle with, so you stop fiddling.
The trade-off: that same small set of options is a ceiling. If you need a particular background, an exact aspect ratio, or a font you have licensed, you will hit the end of what ray.so offers quickly.
2. Chalk.ist
Chalk.ist is the closest thing on this list to a drop-in replacement for Carbon: free, open source, browser-based, same general shape. Where it pulls ahead is the extras — a diff mode for showing changed lines, a Twitter-style badge, and a reflection effect that a lot of people like for thread images.
The trade-off: it is a browser tool, so the same caveats as Carbon apply. Your snippet goes into a web page, and there is no offline story.
3. CodeImage
CodeImage is open source and browser-based, with 20+ themes, but its distinguishing feature is that it treats snippets as things worth keeping. You can save and organise a library rather than starting from an empty editor every time.
The trade-off: the library is the reason to use it. If you only ever make one-off images, that structure is overhead you will not benefit from.
4. CodeSnap
CodeSnap is a VS Code extension with over 3.8 million installs, and its advantage is obvious the moment you use it: your code is already in your editor, so why copy it into a website. Select, run the command, get a PNG or copy it straight to the clipboard. It handles line numbers, background, shadow, corner radius, and window controls.
The trade-off: it only helps inside VS Code. Code in a terminal, a PR review, a Slack message, or Xcode has to go somewhere else first.
5. Codeshot
Codeshot is our native macOS app, and the honest case for it is a narrow one: it never sends your code anywhere, and it gives you exact control over what comes out the other side. Everything runs locally. You get 30 syntax themes with light and dark variants across 60 languages, backdrops from 19 macOS wallpapers or 92 gradients, and the choice to export with no background at all. Sizing is where it earns its keep — let the image follow the content, or lock it to 1:1, 4:3, 3:2, 16:9, 9:16, 2:3, or 3:4, then export at 1×, 2×, or 3× so it is not soft on a retina display.
The trade-off: it is macOS only, it costs $5.99, and version 1.3 requires macOS 14. Every other tool on this list runs on Linux and Windows too. If you are not on a Mac, or you make one image a month, a free browser tool is the better call and we would rather you used one.
6. Snappify
Snappify is the most capable and the only one here with a real subscription. It goes past static images into animated code, slides, and full presentations, which makes it genuinely different rather than just another Carbon with more themes. Paid plans start at $5/month billed annually, with Professional at $9/month and Team at $32/month.
The trade-off: the free tier is a trial rather than a plan — three saved snaps, and watermarks on presentations and video export. Treat the paid tier as the actual product.
7. freeze
freeze from Charm is the one nobody mentions and half of you should be using. It is an MIT-licensed CLI that renders code files or terminal output to PNG, SVG, or WebP. freeze main.go -o main.png is the whole workflow, which means it drops into a Makefile or a docs build and produces images nobody has to remember to regenerate by hand.
The trade-off: there is no visual editor. You are adjusting flags and re-running until it looks right, which is either exactly what you want or precisely what you were trying to avoid.
How to actually choose
Most of this comes down to two questions.
Where does your code live when you want a picture of it? If the answer is VS Code, use CodeSnap. If it is a terminal, use freeze. If it is anywhere and everywhere, a browser tool or a desktop app makes more sense.
Does the code need to stay on your machine? Client work, unreleased features, anything under NDA — that rules out every browser tool here, including Carbon, and leaves you with an editor extension, a CLI, or a native app.
If neither question has a strong answer, Carbon is still fine. It is free, it is maintained, and it made this entire category exist.
If you want the longer argument for why we built a native app rather than another web tool, that is in Carbon.now.sh Alternative.