Mac 上的文件转换器
更新于 · 作者 Anton Shakirov
你的 Mac 本来就能转换的东西,比大多数人以为的多,而且免费。真正要紧的是它在哪里停下,因为它停下的那两个地方,正是人们最后跑去「上传然后祈祷」的网站的那两个地方。hop 在本机转换,开工之前就把大小摆出来,原文件一动不动。

| what it is | file converter inside hop, a menu bar app for macOS |
|---|---|
| price | free — no trial, no pro tier, no account |
| licence | MIT, source on GitHub |
| requires | macOS 14 or later, Apple silicon or Intel |
| works offline | yes |
| data sent anywhere | none |
这个文件转换器吃什么,又吐出什么
- 图片——jpeg、png、heic、avif 和 webp
- 视频——包括 macOS 自己都打不开的 mkv 和 webm
- 音频
- 文档——markdown、Word 文件和 pdf 互相转换
- Pages、Numbers 和 Keynote 出来是 pdf、docx、xlsx 或 pptx
- 网页——在线的或者保存下来的
拖进来一个文件,或者一整个文件夹,选好另一头要出来的东西,结果会以副本的形式落在原文件旁边。
不用任何转换器,你的 Mac 本来就会转什么
在「访达」里选中任意多张图片,按右键,「快速操作」→「转换图像」。挑一个格式,按下按钮,副本就出现在原文件旁边。它一次就处理整个选区;对于一整个文件夹、而表单只要 jpeg 的照片来说,故事到这儿就结束了。
Apple 在「访达」的帮助里用一行字写了这件事,这多少也解释了为什么知道的人这么少(英文页面): 在 Mac 上把图像转换成另一种格式
四条自带的路子,各自写得出什么
一共四条:「访达」里的快速操作、「预览」的导出菜单、终端里的 sips,还有「快捷指令」。它们看上去像四个产品,配着四份格式清单。底下其实是同一个框架 Image I/O,四条路写出来的是一模一样的一套。
在 macOS 26.6.2 上这一套是 22 种类型。其中日常的那一半是 jpeg、png、gif、tiff、heic、avif、bmp、ico 和 pdf。avif 在里面,这常常让人意外:系统是写得出它的,只是不从「访达」的菜单里写。
这份清单并不保密,只是没写在人会去找的地方——任何应用都可以向 Image I/O 要一份(英文页面): CGImageDestinationCopyTypeIdentifiers
它们四个都写不出来的那一样
webp 不在那份清单上。「预览」里没有,快速操作里没有,sips 里没有,「快捷指令」里也没有,因为它不在这四条路共同站着的那个框架里。你的 Mac 读 webp 读得好好的,就是造不出一个来。
直接去问,sips 也不客气:「Error: Can't write format: org.webmproject.webp」,错误 13,你要的地方不会有文件。在网页表单真正会要的那些格式里,这是 macOS 唯一没有路可走的一个。
人们总是一个一个、在做到一半时才发现这件事,而这个问题一次次落到同一个地方(英文页面): 「预览」对 webp 图像的支持 — Apple Community
视频:avconvert 能做什么,又在哪里停下
视频这边系统里也藏着一个转换器:终端里的 avconvert,配上 passthrough 预置。它换掉容器,把画面和声音原封不动搬过去。一个 56 mb 的 mov 两秒钟就出来一个 56 mb 的 mp4。对于一个被网站拒收的 mov,这确实就是正确答案。
不过它在门口就停住了。AVFoundation 认得 104 种媒体类型,Matroska 不在其中,所以 mkv 对你的 Mac 来说不是一个难读的文件,而是一个不认识的文件。换预置也没用,因为根本走不到读它那一步。
系统能打开的容器清单是公开的,它能解释每一句「文件没问题,只是 QuickTime 不收」(英文页面): AVURLAsset.audiovisualTypes
pdf:只有一个滤镜,上面还没有旋钮
「预览」是通过一个叫 Reduce File Size 的 Quartz 滤镜来压 pdf 的,而这样的滤镜就只有一个。它的设置写死在滤镜文件里:jpeg 质量 0.7,图像重新采样到 144 dpi,任何一边都不超过 2400 像素。macOS 的 pdf 压缩就这些了:没有可以挪的档位,也没有任何数字,直到你保存之后。
这也是为什么它有时候还给你的文件比原来更大,以及为什么「再压一次」什么也不会发生。sips 也绕不过去:一份三页的文稿,它在路上压成了一页。
那你到底需要哪一种文件转换器
一批照片要转成 jpeg 或 png,哪一种都不需要。「访达」的菜单比下载任何东西都快,而为这件事卖你一个应用的人,卖的是你本来就有的一个菜单项。
简单的情况在两个边界之一到头:你要的格式 macOS 写不出来,或者大小很要紧,而你需要在点头之前就知道它,不是之后。
| 你手上有什么 | 系统自带的办法 | 用 hop |
|---|---|---|
| 几张 heic 照片,而表单要 jpeg | 「访达」→「快速操作」→「转换图像」,大约十五秒 | 用不上——去用那个菜单 |
| 一个要 webp 的上传表单 | 没有一条路写得出来:「预览」不行,sips 不行,「快捷指令」也不行 | webp 和别的格式一样出来 |
| 一个被网站拒收的 mov | avconvert 配 passthrough 预置,前提是你知道有这么个东西 | 同样是重新封装,把文件拖进来就行 |
| 一个打不开的 mkv | 容器对系统来说是未知的,自带的东西没有一个读得了 | 重新封装成 mp4,画面原封不动搬过去 |
| 一个 40 mb 的 pdf,和一个只收 10 mb 的表单 | 一个写死的滤镜,而且大小只有保存之后才知道 | 档位你自己定,大小在开工之前就摆出来 |
| 一文件夹要发 reels 的片段 | 去查尺寸和码率,然后一条一条重复 | 一个平台一个按钮,整个文件夹一次过 |
macOS 不肯转的文件,hop 怎么转
hop 就是围着这两个缺口造出来的。webp 出来得和 jpeg、png 一样轻松;mkv 和 webm 由一个只下载一次的小辅助程序重新封装成 mp4——画面原封不动搬过去,于是没有任何东西被重新编码,文件也终于能播了。
一整个文件夹一次进来,而承诺来在动手之前:hop 会先编码一个样本,所以刻度上的大小是量出来的,不是猜出来的,你是看着那个数字做决定的。出来的东西落在原文件旁边,而原文件保持原样。
所有格式、那个重新封装 mkv 的辅助程序,以及每个控件在哪里——手册那一侧,中文的: 说明书里的转换器
答应你多大,出来就是多大
多数转换器先问你要一个质量档位,再让你事后发现代价。hop 会先跑一个样本,在你点头之前就把最后的大小摆出来——于是把附件削到邮件肯收的大小,不再是靠蒙。
压缩有一个由你来定的档位。推一推,看着答应你的那个数字跟着走。图片、pdf、视频和音频都走同一个刻度。
为它要去的地方准备的视频
reels 和 shorts 要竖的,信息流要方的,YouTube 要宽的。一个按钮把画幅、分辨率和压缩一起定下来,并且写出它指的是多少码率,于是你不用再去查一遍推荐尺寸。
形状不对的画面会被裁剪、加黑边,或者压在自己的一份模糊副本上——你来选。它从不会被拉伸,因为拉伸过的视频一看就是个错误,而且再也改不回来。
文档和网页也从另一头出来
markdown 会变成一份由 hop 自己排版的 pdf。Word 文件——.docx、.doc 和 .rtf——会变成 pdf 或 markdown,而 pdf 会把它的文字还成 markdown,扫描的那一页在路上由 Apple 的 Vision 读出来。不需要办公套件,也没有什么要下载。
Pages、Numbers 和 Keynote 由拥有它们的应用成批导出,所以版式才活得下来。网页也是一样:粘一个地址,或者丢一份保存好的页面进来,它会以 pdf、docx、markdown、rtf 或纯文本回来。
如果收到的东西不是文档,而是裹在文档外面的一层壳: Mac 上的压缩包管理
什么都不会被上传
转换发生在你的 Mac 上。没有文件离开这台机器,没有服务器见过一份合同或者一张全家福,而且关掉 Wi-Fi 也照样能用。
对于任何你不愿意让它躺在陌生人临时文件夹里的东西,这就是全部的理由。
frequently asked questions
- 它能把图片转成 webp 吗?
- 能。这是 macOS 唯一完全没有内置路子的格式——「预览」、「访达」的快速操作、sips 和「快捷指令」都读得了 webp,没有一个写得出来。
- 有东西会被上传到服务器吗?
- 不会。一切都在你的 Mac 上发生,完全断网也能用。
- 我的原文件会被改动吗?
- 从不会。结果以副本的形式落在原文件旁边,原文件保持原样。
- 能一次转换好几个文件吗?
- 能。想丢多少丢多少,它们会一起过。
- mkv 为什么在我的 Mac 上放不了?
- macOS 不认得这个容器——Matroska 不在 AVFoundation 能打开的媒体类型里,所以文件没有坏,只是不被认识。hop 会把它重新封装成 mp4,画面原封不动搬过去,于是没有任何东西被重新编码,也没有任何东西丢失。
- 能把 pdf 压小了发邮件吗?
- 能——pdf、图片、视频和音频都能压,而且你在点头之前就看得到最后的大小。
- 用「预览」压过之后,我的 pdf 为什么还是太大?
- 「预览」只有一个压缩滤镜,而且设置是写死的:质量 0.7,图像重新采样到 144 dpi,任何一边都不超过 2400 像素。跑第二遍什么也不会变,因为第二遍已经没有东西可拿了。能挪的档位才是绕过它的办法。
other tools in hop
- app uninstallerremove an app together with what it left in about thirty places.
- timerwork-rest cycles that survive a sleeping Mac.
- app launcherthe apps you open all day, one click away.
关于作者

Anton Shakirov开发 hop
开发 hop,也编写本站的每一页。十九个工具收在一个菜单栏图标下,MIT 许可,源码公开。issue 和邮件都由他本人阅读和回复。