Carbon 究竟是什么
Carbon 是一款将源代码渲染为精美图像的在线工具。它的核心功能是把代码片段转成带语法高亮的 PNG 或 SVG 图片,覆盖超过 200 种编程语言和 25 种视觉主题。整个过程在浏览器端完成,无需上传代码到服务器,也没有后端存储。
多数开发者习惯用系统截图工具(如 Cmd+Shift+4)截取代码,结果常附带 IDE 工具栏、行号和文件标签。Carbon 则直接输出一个干净的自定义窗口,是更纯粹的代码可视化方案。
| 特性 | 描述 |
|---|---|
| 核心功能 | 源代码 → 带语法高亮的 PNG/SVG 图像 |
| 产品定位 | 代码可视化工具,不做编辑 |
| 所属分类 | 在线代码截图、开源 Web 应用(github.com/carbon-app/carbon) |
| 目标用户 | 技术博主、演讲者、文档作者、开发者 |
| 技术栈 | CodeMirror 5.65,浏览器端运行,零服务端存储 |
Carbon 的代码美化能做什么
将代码粘贴进编辑器后,Carbon 会自动识别语言并套用主题。与直接截图不同,它提供的是可自定义背景的整洁窗口,去掉了 IDE 的杂乱元素。
- 语法高亮:基于 CodeMirror 引擎,覆盖 200 多种语言
- 主题预设:内置 25 种以上主题,包括 Dracula、Monokai、Solarized、Nord、Material 等
- 窗口控件:可调整内边距(padding)、阴影(shadow)和窗口按钮样式(macOS 三圆点 / Windows 三方块 / 无控件)
- 字体与背景:提供多种等宽字体,背景支持纯色、渐变色或上传自定义图片
适合的使用场景
- 技术博客配图:为教程中的代码示例生成统一风格的图片,比纯 Markdown 渲染更直观
- 社交媒体分享:在 Twitter/X、微博等平台发布代码截图,视觉效果优于纯文本
- 演示文稿:插入 PPT 或 Keynote 的代码片段,避免字体丢失或排版错乱
- GitHub README:将核心示例代码生成为图像嵌入文档,确保跨设备渲染一致
Carbon 支持哪些格式与 API
Carbon 的 Web 界面支持导出 PNG 和 SVG 两种格式。PNG 适合直接嵌入网页,SVG 作为矢量图可无限放大而不失真。
官方并未提供应用程序编程接口(API,即程序间通信的接口),但社区已有多个封装方案。例如 mixn/carbon-now-cli(基于 Node.js)和 petersolopov/carbonara(基于 Python),它们大多依赖 Puppeteer 启动无头浏览器来生成图像,单张耗时约 2 到 5 秒。
Carbon 的使用边界与适用判断
Carbon 完全免费、开源且导出无任何水印。但在使用前,有几个边界需要了解:
- 无图片后期编辑:导出后无法在 Carbon 内添加箭头、标注或马赛克
- 不支持动态格式:不能导出 GIF 或 MP4,无法展示代码输入过程
- 批量生成较慢:命令行版本依赖 Puppeteer 启动浏览器,不适合高频自动化流水线
- 服务可用性:carbon.now.sh 偶尔会因维护而停机,关键场景建议本地部署
适合的场景是:需要将代码片段变成可直接粘贴到文档或社交平台的精美图像,且不需要后续标注。不适合的场景是:需要在图像上添加箭头或文字标注,或者需要展示代码运行动画。
Carbon 未来是否会加入 GIF 导出或内置标注工具,填补静态图像与动态演示之间的空白?








