Carbon.now.sh and ray.so are the two free web tools most developers end up choosing between. They look similar in a screenshot and they are not, particularly. The difference is philosophical, and it decides which one you should have bookmarked.
Disclosure before the comparison: we make Codeshot, a paid macOS app in the same space. It is not one of the two tools being compared, and the honest answer to "which of these two" is often "one of these two" — so this page is about them, not us.
Carbon: every knob, exposed
Carbon is the original, it is open source, it has over 36,000 stars on GitHub, and it is still actively maintained. The design philosophy is that you should be able to change anything: theme, font family and size, padding, window style, line numbers, background colour or gradient, drop shadow, export format and scale.
That is genuinely powerful, and it is also why people bounce off it. The first time you open Carbon you are looking at a control bar with a dozen options, and getting to a result you like takes a few minutes of fiddling.
Carbon is the right answer when the image matters more than the time it took — a conference slide, a blog header, a README hero. Anything you will look at more than once.
ray.so: three decisions, then done
ray.so, from the Raycast team, offers a small set of curated gradient backgrounds, a handful of themes, padding, and dark or light. Export is PNG or SVG. That is close to the whole feature set, and the restraint is deliberate.
The result is that you cannot really make an ugly image with it, and you cannot spend twenty minutes trying. Paste, pick a gradient, export.
ray.so is the right answer when you are mid-conversation. A reply on a timeline, a Slack thread, a quick answer to a colleague. The image is disposable and speed is the entire point.
The rule
Ask how long the image will live.
Disposable, part of a conversation, gone tomorrow — ray.so. Durable, part of something you are publishing — Carbon. If you find yourself fighting ray.so's limits, that is a signal the image matters more than you thought, and you should switch to Carbon rather than work around them.
What neither one solves
Both are web pages, which means both share two limitations.
Your code goes into a browser. Both are well behaved about this — Carbon is open source and you can read exactly what it does — but "well behaved" is not the same as "never left my machine". If you are pasting an unreleased feature or client code, that distinction may matter to someone above you even if it does not matter to you.
Neither remembers. Every session starts from defaults. If you post code images weekly with a consistent look, you are re-making the same decisions every time.
Those two gaps are the reason native apps in this category exist, Codeshot among them. If they do not describe your situation, they are not reasons — and a free tool you already like is a better answer than a paid one you do not need.
For the wider field, including editor extensions and CLI tools, see 7 Carbon.now.sh Alternatives in 2026.