Carbon.now.sh остаётся точкой отсчёта, когда речь идёт о превращении кода в картинку, и стоит сразу сказать: он никуда не делся. У проекта больше 36 000 звёзд на GitHub, он по-прежнему открыт и по-прежнему бесплатен. Если он делает то, что вам нужно, эта страница вам ни к чему.

Но слова «то, что вам нужно» в этой фразе несут немалый вес. Альтернативу ищут по вполне конкретным причинам: хочется не выходить из редактора, хочется, чтобы код не покидал машину, хочется всё это заскриптовать, хочется анимации или хочется, чтобы экспорт выходил ровно того размера, которого ждёт площадка. Каждый инструмент ниже лучше Carbon в чём-то одном из перечисленного и хуже в остальном.

Сразу оговорка: Codeshot — наш. Он на пятом месте, а не на первом, и в разделе о нём перечислены причины его не выбирать.

Коротко

Инструмент Работает в Стоимость Брать ради
ray.so Браузер Бесплатно Самого короткого пути к приличной картинке
Chalk.ist Браузер Бесплатно, открытый код Максимальной близости к Carbon, плюс режим diff
CodeImage Браузер Бесплатно, открытый код Ведения библиотеки сниппетов
CodeSnap VS Code Бесплатно Возможности не выходить из редактора
Codeshot Приложение для macOS 5,99 $ единоразово Работы офлайн и точных размеров экспорта
Snappify Браузер Бесплатный тариф, от 5 $/мес Анимации и презентаций
freeze Терминал Бесплатно, открытый код Скриптов и вывода терминала

1. ray.so

ray.so от команды Raycast — то, к чему тянешься, когда картинка нужна секунд за пятнадцать. Вставил, выбрал один из небольшого набора градиентных фонов, экспортировал в PNG или SVG. Намеренная скудость настроек и есть смысл: возиться почти не с чем, поэтому вы перестаёте возиться.

Компромисс: тот же небольшой набор — это и потолок. Если нужен конкретный фон, точное соотношение сторон или лицензированный вами шрифт, предел возможностей ray.so обнаружится быстро.

2. Chalk.ist

Chalk.ist ближе всех в этом списке к прямой замене Carbon: бесплатно, открытый код, работает в браузере, тот же общий силуэт. Вырывается вперёд он за счёт дополнений — режим diff для показа изменённых строк, значок в духе Twitter и эффект отражения, который многим нравится для картинок в тредах.

Компромисс: это браузерный инструмент, так что оговорки те же, что и у Carbon. Ваш сниппет попадает на веб-страницу, и офлайн-сценария нет.

3. CodeImage

CodeImage — открытый браузерный инструмент с более чем 20 темами, но его отличительная черта в том, что он относится к сниппетам как к чему-то, что стоит хранить. Можно сохранять и упорядочивать библиотеку, а не начинать каждый раз с пустого редактора.

Компромисс: библиотека и есть причина им пользоваться. Если вы делаете только разовые картинки, эта структура — накладные расходы, от которых вам не будет пользы.

4. CodeSnap

CodeSnap — расширение для VS Code с более чем 3,8 млн установок, и его преимущество очевидно с первого раза: код уже в редакторе, так зачем копировать его на сайт. Выделили, выполнили команду, получили PNG или скопировали сразу в буфер обмена. Поддерживаются номера строк, фон, тень, радиус углов и кнопки окна.

Компромисс: он помогает только внутри VS Code. Код в терминале, в ревью пул-реквеста, в сообщении Slack или в Xcode сначала придётся куда-то перенести.

5. Codeshot

Codeshot — наше нативное приложение для macOS, и честный аргумент в его пользу узкий: оно никуда не отправляет ваш код и даёт точный контроль над тем, что получится на выходе. Всё работает локально. Вы получаете 30 тем подсветки со светлым и тёмным вариантом для 60 языков, фоны из 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 или вы делаете одну картинку в месяц, бесплатный браузерный инструмент — решение лучше, и нам приятнее, чтобы вы взяли его.

6. Snappify

Snappify — самый функциональный здесь и единственный с настоящей подпиской. Он выходит за пределы статичных картинок к анимированному коду, слайдам и полноценным презентациям, и это делает его по-настоящему другим, а не очередным Carbon с бóльшим числом тем. Платные планы начинаются с 5 $/мес при годовой оплате, Professional — 9 $/мес, Team — 32 $/мес.

Компромисс: бесплатный тариф — скорее пробный период, чем план: три сохранённых снимка и водяные знаки на презентациях и видеоэкспорте. Считайте настоящим продуктом платный тариф.

7. freeze

freeze от Charm — тот, о ком никто не вспоминает и которым половине из вас стоило бы пользоваться. Это утилита командной строки под лицензией MIT, которая рендерит файлы с кодом или вывод терминала в PNG, SVG или WebP. freeze main.go -o main.png — это весь рабочий процесс, а значит, её можно встроить в Makefile или в сборку документации и получать картинки, которые никому не нужно вручную перегенерировать, вспомнив об этом.

Компромисс: визуального редактора нет. Вы правите флаги и запускаете снова, пока не станет как надо, — это либо ровно то, чего вы хотели, либо ровно то, чего пытались избежать.

Как выбирать на деле

Почти всё сводится к двум вопросам.

Где живёт ваш код в тот момент, когда нужна его картинка? Если ответ «в VS Code» — берите CodeSnap. Если в терминале — freeze. Если где угодно и повсюду, разумнее браузерный инструмент или настольное приложение.

Должен ли код оставаться на вашей машине? Работа для клиента, невыпущенные функции, всё под NDA — это вычёркивает все браузерные инструменты отсюда, включая Carbon, и оставляет расширение для редактора, утилиту командной строки или нативное приложение.

Если ни на один из вопросов нет твёрдого ответа, Carbon по-прежнему хорош. Он бесплатен, он поддерживается, и именно он создал всю эту категорию.

Если хотите развёрнутое объяснение, почему мы сделали нативное приложение, а не очередной веб-инструмент, оно в статье Альтернатива Carbon.now.sh.