字幕文件

SRT 和 VTT

几乎是同一种文件。区别在于其中一种能在浏览器的视频元素里用,另一种不能。

核对于 2026年8月6日

直接说结论

凡是要上传的场合都用 SRT:YouTube、社交平台、剪辑软件。自己把视频放到网页上时用 VTT,因为浏览器的 track 元素读不了 SRT 文件。如果你的字幕永远只是交给平台,那答案就是 SRT,这一页剩下的都是细节。

真正有区别的地方

SRTVTT
扩展名.srt.vtt
第一行数字 1WEBVTT 这个词,而且是必须的
毫秒分隔逗号:00:01:02,500句点:00:01:02.500
浏览器 track 元素完全读不了唯一读得了的格式
样式和位置没有CSS、对齐,以及屏幕分区
章节和元数据没有有,作为独立种类的轨道
注释没有以 NOTE 开头的行
YouTube 接受接受接受

除此之外两者是同一个思路:一段段文字,各自带一个起始时间和一个结束时间,装在一个放在视频旁边的文件里。

决定选哪个的只有一条

HTML 有一个 track 元素用来挂字幕,而它只读 WebVTT。喂给它一个 SRT,你得到的是一个没有字幕的视频,外加一条不值得看的错误。所有浏览器都是这个行为,也没有哪家打算改。

决定就到此为止。自己发布视频,用 VTT。把文件交给平台,由平台在内部转成它自己用的东西,那 SRT 没问题,而且是更稳妥的习惯,因为认它的软件更多。

两者互转几乎等于没做什么

VTT 就是在 SRT 的第一行加上 WEBVTT 这个词,下面空一行,再把时间戳里的逗号换成句点。段落序号留着或去掉都行,因为 VTT 把它当成可选的标签而不是结构的一部分。

所以几乎任何能写出其中一种的工具都能写出另一种,去找转换器是白费力气。在导出那一步两种都拿上,需要哪个用哪个。

VTT 能做而 SRT 做不到的

VTT 能把一句字幕放在底部居中以外的地方,用 CSS 给它加样式,还能划出屏幕上的区域。它还能以独立轨道的形式携带章节标记和任意元数据,播放器的章节列表就是这么来的,而不是从简介里抠出来的。

但如果字幕是要交给 YouTube 的,这些一样也帮不上:它会剥掉表现层,换成自己的。只有在播放器由你控制的时候才去动用这些能力,在那之前不必。

两个一起拿

这里的转写工具在同一趟里导出 .srt、.vtt 和纯文本,所以选哪个是按一下下载按钮的事,不是一次转换。视频只发送声音,视频文件本身不离开你的机器。

更多指南

指南

FAQ

YouTube 上该用 SRT 还是 VTT?
两个都能传。SRT 是更稳妥的习惯,因为读得懂它的软件更多,而 VTT 能加的那些样式 YouTube 反正也会丢掉。
浏览器能播 SRT 吗?
通过 track 元素不能,而那是网页上给视频挂字幕的标准做法,它只读 WebVTT。用 JavaScript 写的播放器想读什么都行,但那是播放器在读,不是浏览器在读。
VTT 是什么的缩写?
Video Text Tracks,通常写作 WebVTT。文件第一行必须是 WEBVTT 这个词,否则什么都读不了它。
VTT 比 SRT 更好吗?
它能做的更多,但"更多"只有在你用得上的地方才等于"更好",而那意味着播放器由你控制。用于上传时,多出来的能力会被丢掉,SRT 更广的兼容性反而更值钱。
把 .srt 改名成 .vtt 行吗?
不行。还得在顶部加上 WEBVTT 那一行,并且把毫秒前的逗号换成句点。改动很小,但不是零。

一个视频,两种字幕一起拿

同一趟里出 srt、vtt 和纯文本。不需要账号,而且只发送声音。

打开视频转文字仅发送声音 · 免费

不用再付的
订阅费

$3,042.36 /年

十份订阅,按它们自己公布的价格,每月 $253.53,加起来的结果。这里不统计也不存储你用工具做了什么:这是拿价目表做的算术,不是谁真省下了多少的累计。 看那张表