コードを画像に変える話になれば、いまも基準になるのは Carbon.now.sh です。最初に書いておくと、これはどこにも行っていません。GitHub のスターは 36,000 を超え、いまもオープンソースで、いまも無料です。必要なことができているなら、このページは不要です。
とはいえ「必要なことができている」という一言はかなりの重さを背負っています。代替を探す理由はたいてい具体的です。エディタから離れたくない、コードを自分のマシンから出したくない、全部スクリプト化したい、アニメーションが欲しい、あるいは投稿先が求めるサイズちょうどで書き出したい。以下のツールはどれも、そのうちのひとつでは Carbon より優れ、ほかでは劣ります。
先に利害を明らかにしておくと、Codeshot は私たちの製品です。順位は 5 番目で 1 番ではありませんし、その項では「選ばない理由」も挙げています。
早見表
| ツール | 動作環境 | 費用 | 向いている用途 |
|---|---|---|---|
| ray.so | ブラウザ | 無料 | まともな画像への最短ルート |
| Chalk.ist | ブラウザ | 無料・オープンソース | Carbon にいちばん近い。diff 表示あり |
| CodeImage | ブラウザ | 無料・オープンソース | スニペットをためておく |
| CodeSnap | VS Code | 無料 | エディタから一歩も出ない |
| Codeshot | macOS アプリ | 買い切り 5.99 ドル | オフライン作業と厳密な書き出しサイズ |
| Snappify | ブラウザ | 無料枠あり、月 5 ドル〜 | アニメーションとプレゼン |
| freeze | ターミナル | 無料・オープンソース | スクリプト化とターミナル出力 |
1. ray.so
Raycast チームによる ray.so は、15 秒ほどで画像が欲しいときに開くものです。貼り付けて、少数のグラデーション背景から選び、PNG か SVG で書き出す。選択肢をあえて絞っているのが要点で、いじる余地がほとんどないので、いじるのをやめられます。
代償: その少ない選択肢がそのまま上限です。特定の背景、正確なアスペクト比、ライセンス購入したフォントが必要なら、ray.so の限界にはすぐ突き当たります。
2. Chalk.ist
Chalk.ist は、このリストの中で Carbon の置き換えにいちばん近い存在です。無料、オープンソース、ブラウザ動作、全体の形もほぼ同じ。差がつくのは追加機能で、変更行を示す diff モード、Twitter 風のバッジ、スレッド用の画像で好まれる反射エフェクトがあります。
代償: ブラウザツールなので、Carbon と同じ但し書きが付きます。コードはウェブページに入りますし、オフラインでの使い道はありません。
3. CodeImage
CodeImage はオープンソースのブラウザツールで、20 以上のテーマを備えます。ただ特徴的なのは、スニペットを「取っておく価値のあるもの」として扱う点です。毎回空のエディタから始めるのではなく、ライブラリとして保存・整理できます。
代償: そのライブラリこそが使う理由です。単発の画像しか作らないなら、この仕組みは得るもののない手間になります。
4. CodeSnap
CodeSnap はインストール数 380 万を超える VS Code 拡張で、使えば利点はすぐ分かります。コードはすでにエディタの中にあるのに、なぜウェブサイトへコピーするのか、というわけです。選択してコマンドを実行すれば PNG が得られ、クリップボードへ直接コピーもできます。行番号、背景、影、角丸、ウィンドウボタンに対応しています。
代償: 助けになるのは VS Code の中だけです。ターミナル、PR レビュー、Slack のメッセージ、Xcode にあるコードは、まずどこかへ移す必要があります。
5. Codeshot
Codeshot は私たちのネイティブ macOS アプリで、正直に言える強みは狭いものです。コードをどこにも送らないことと、出てくる結果を厳密に制御できること。すべてローカルで動きます。60 言語に対応した 30 種類のシンタックステーマ(それぞれライトとダーク)、19 種類の macOS 壁紙または 92 種類のグラデーションによる背景、そして背景なしで書き出す選択肢があります。真価はサイズ指定です。画像を内容に合わせるか、1:1、4:3、3:2、16:9、9:16、2:3、3:4 に固定し、1×・2×・3× から選んで書き出せば、Retina ディスプレイでぼやけません。
代償: macOS 専用で、5.99 ドルかかり、バージョン 1.3 は macOS 14 が必要です。このリストのほかのツールはどれも Linux や Windows でも動きます。Mac を使っていない、あるいは月に 1 枚しか作らないのなら、無料のブラウザツールのほうが賢明ですし、私たちもそちらを使ってほしいと思います。
6. Snappify
Snappify はここでいちばん高機能で、本格的なサブスクリプションを持つ唯一のものです。静止画を超えて、アニメーションするコード、スライド、本格的なプレゼンテーションまで扱えます。テーマが多いだけの Carbon 亜種ではなく、本当に別物だということです。有料プランは年払いで月 5 ドルから、Professional が月 9 ドル、Team が月 32 ドルです。
代償: 無料枠はプランというより試用です。保存できるのは 3 点まで、プレゼンと動画書き出しには透かしが入ります。実質的な製品は有料プランだと考えてください。
7. freeze
Charm による freeze は、誰も話題にしないのに、読者の半分は使うべきツールです。MIT ライセンスの CLI で、コードファイルあるいはターミナルの出力を PNG、SVG、WebP に描画します。freeze main.go -o main.png がそのまま全工程なので、Makefile やドキュメントのビルドに組み込めますし、誰かが手作業で作り直すのを覚えておく必要のない画像が手に入ります。
代償: ビジュアルエディタはありません。オプションを調整して納得いくまで実行し直すことになります。それがまさに望むところなのか、まさに避けたかったことなのか、どちらかです。
実際にどう選ぶか
ほとんどは 2 つの問いに帰着します。
画像にしたいとき、そのコードはどこにあるか。 VS Code なら CodeSnap。ターミナルなら freeze。どこにでもあるなら、ブラウザツールかデスクトップアプリのほうが理にかないます。
そのコードは自分のマシンから出してはいけないか。 クライアントの仕事、未公開機能、NDA の対象。これに当てはまるなら、Carbon を含めここに挙げたすべてのブラウザツールが外れ、エディタ拡張・CLI・ネイティブアプリのいずれかが残ります。
どちらの問いにも強い答えがないなら、Carbon で十分です。無料で、保守されていて、そもそもこの分野を生み出したのが Carbon なのですから。
もうひとつのウェブツールではなくネイティブアプリを作った理由を詳しく知りたい方は、Carbon.now.sh の代替をどうぞ。