深夜的一场"血泪史"
昨天深夜,我经历了一件特别让人抓狂的事。想把苹果手机上刚拍的几张 HEIC 格式照片转成 JPG 发给设计做图。本以为是件小事,随便搜个"在线格式转换"就能搞定。但现实给了我一记响亮的耳光。
第一家网站:上传完告诉我,普通用户只能转一张,想转第二张?请掏钱。
第二家网站:满屏幕的无用内容,下载按钮我都找不到在哪,差点进到什么奇怪的页游里去。
第三家:好不容易转好了,告诉我必须要注册登录才能下载。
那一刻,我是真的有点绷不住了。想简简单单转个文件,怎么就这么难?一气之下,我关掉了所有网页,打开了 GitHub。然后,我就挖到了这个可以说是一劳永逸的神器——ConvertX。
遇见 ConvertX 的那一刻
看到它的第一眼,我就知道:嘿嘿,稳了。这是一个基于 Web 的、可以自己部署的在线文件转换工具。完全开源,零门槛使用,最重要的是,它没有任何乱七八糟的内容和限制。

作者 C4illin 用 TypeScript、Bun 和 Elysia 写了这个项目,主打就是一个快、准、稳。我连夜部署体验了一下,体验是真丝滑。
一、万物皆可转:超千种格式的逆天支持
很多在线转换工具,要么只能转图片,要么只能转文档。但 ConvertX 有点离谱——它支持超过一千种不同的格式。真的,你没看错,上千种。

我大概看了一下它的底层支持,简直就是把开源界最强的几个转换引擎全给缝进去了:

- 矢量图转换:Inkscape 和 Potrace 联手出击,SVG、EPS 等格式随便搞
- 文档转换:LibreOffice 和 Pandoc 坐镇,Word、Excel、PPT、PDF 甚至 Markdown 都能互转
- 图片转换:ImageMagick 和 libvips 强势压阵,几百种图片格式任你切割组合
- 视频转换:FFmpeg 这个居家必备之神器当然不能少,几乎所有主流视频格式都支持
- 电子书转换:Calibre 让各种书籍格式互相转换不再是梦
- 3D 模型转换:Assimp 让模型格式不再是障碍
- LaTeX 支持:学术工作者的福音
我试了一下,把一张很复杂的 SVG 矢量图转成 PNG,拖进去,松手,几乎秒转。没有排队,没有"正在分析",没有倒计时限制。干脆利落得不行。
而且,它还支持批量处理。你可以一次性把几十个文件扔进去,它就在后台吭哧吭哧给你全转好。这对经常需要处理大量文件的朋友简直是救星。
二、数据主权回归自己:隐私保护的终极形态
除了格式支持多,ConvertX 最打动我的,还是安全与隐私的终极解决方案。

我们平时用在线转换工具,更多担心的其实是隐私问题。你把合同、简历、私密照片传到别人的服务器上,谁知道对面会不会留底?
但 ConvertX 是支持数据自托管的。你可以把它部署在自己的 NAS 或私有服务器上。这就意味着:
- 所有的文件处理数据,都完全掌握在自己手中
- 你可以给它设置密码保护,或者开启多用户账户
- 小团队或家庭成员可以安全地共享使用
- 自动清理功能让你可以设置每隔几个小时自动删除旧文件,既省空间,又保隐私
这种数据主权回归用户的设计理念,在这个时代显得尤为珍贵。
三、部署体验:简单到哭的一行命令
我知道,很多朋友一听到"自托管"、"私有服务器",头都大了。觉得肯定要敲一堆代码,配一堆环境。
但 ConvertX 的部署,真的非常简单。只要你有 Docker,基本就是一行命令的事:
docker run -p 3000:3000 -v ./data:/app/data ghcr.io/c4illin/convertx
跑起来之后,打开浏览器访问 localhost:3000,搞定。第一次打开,注册一个账号,你就拥有了一个属于自己的、功能强大的格式转换中心。
再也不用去搜什么"在线 PDF 转 Word",然后被一堆限制糊脸了。
写在最后:极客精神的温度
其实,ConvertX 这个项目,功能说起来很简单。它做的事情,无非就是把那些强大的命令行工具,比如 FFmpeg、Pandoc 这些,包上了一层好看又好用的外壳。

但就是这么简单的东西,却让我觉得特别珍贵。
在这个万物皆可订阅、万物皆可变现的时代,还有开发者愿意做一个纯粹的工具,把它开源出来,让我们能体面地解决一个小问题。这本身,就是一种极客的浪漫。
工具,本该如此。
它静静地躺在那,当你需要的时候,它帮你解决问题,然后事了拂衣去,深藏身与名。而不是像个乞丐一样,拽着你的衣角,非要薅你一把羊毛。
把对数据的掌控权,拿回自己手里。这种感觉,真的挺爽的。
项目地址:https://github.com/C4illin/ConvertX
今天的分享到此结束,感谢大家抽空阅读,我们下期再见,Respect!