免费工具
SRT 转 VTT 转换器
把 SubRip 字幕转换成网页可用的 WebVTT。拖入 .srt 文件,拿到的 .vtt 会带有浏览器要求的头部,以及 HTML5 视频要求的时间码标点。
- 在浏览器中运行
- 不会上传任何内容
- 无需注册
将文件拖到这里
或
支持 .srt、.vtt、.txt 文件
添加 SRT 文件 (2+)
结果
使用方法
SRT 转 VTT 转换器,三步完成
拖入 SRT 文件
把 .srt 拖到框内,或点击浏览选择文件。文件不会离开你的设备。
转换为 VTT
自动添加 WEBVTT 头部,所有时间码的毫秒分隔符从逗号变为点。
下载 .vtt 文件
复制结果,或直接下载,即可挂到 HTML5 视频的字幕轨道上。
为什么 SRT 在浏览器里播放不出字幕
SubRip 和 WebVTT 看起来几乎一样,这正是问题令人困惑的地方:把一个 .srt 挂到 <track> 元素上,视频照常播放,字幕却不出现,也没有任何报错。HTML5 视频根本不识别 SubRip 格式——它只认 WebVTT,而这两种格式之间有两处细小的差异,播放器不会通融。
真正要紧的两处差异
第一,WebVTT 文件必须以单独一行的 WEBVTT 开头,缺了这个头部,无论内容是什么,文件都会被直接拒绝。第二,WebVTT 用一个点把秒和毫秒分开,而 SubRip 用逗号:00:00:01.500 对应 00:00:01,500。SubRip 在每个字幕块上方写的序号,在 WebVTT 里是可选项,转换时会被去掉——它们不承载任何含义,只会增加噪音。
转换会改动什么,又不会改动什么
时间信息会被原样复制,不做任何四舍五入、平移或重新计时。字幕内部的换行也会保留,两行的字幕转换后依然是两行。没有被带过来的,是 SubRip 本来就没有的东西:WebVTT 可以携带位置、对齐方式和区域等设置,而这个转换器不会凭空生成这些设置。你得到的是一个干净、有效、使用默认定位的文件,这在绝大多数场景下正是浏览器所需要的。
它在你自己的设备上运行
文件的读取和转换都在浏览器里完成,不会上传,不会被存储,也不需要注册账号。系统接受最大 10 MB 的文件,这已经远远超过任何字幕文件的实际需要——一部长片的字幕文件通常不到 100 KB。
答案
SRT 转 VTT 常见问题
为什么我的 SRT 文件在 HTML5 视频里什么都不显示?
因为浏览器不识别 SubRip 格式。
SRT 和 VTT 到底有什么区别?
只有两点。VTT 文件必须以 WEBVTT 这一行开头,而且用点分隔毫秒而不是逗号:00:00:01.500 而不是 00:00:01,500。字幕的其余部分——时间、文本、换行——完全一样。
字幕序号会丢失吗?
会,而且是特意去掉的。WebVTT 把这些数字当作可选的标识符,而不是顺序编号,没有任何东西会去读取它们。去掉它们只会让文件更干净,不会造成信息损失。
时间会发生变化吗?
不会。开始和结束时间会精确到毫秒原样保留,不会被四舍五入或重新计时。
样式和位置设置会保留下来吗?
本来就没有可保留的东西。SubRip 没有位置或区域设置,所以输出文件使用 WebVTT 的默认设置。如果你需要这些设置,之后得手动添加。
我的文件会被上传到什么地方吗?
不会。转换过程用 JavaScript 在你的浏览器里完成。文件不会被发送到任何服务器,不会被存储,也不需要注册账号。
文件最大能转换到多少?
最大 10 MB。字幕文件本身很小——即便是一部三小时的电影,字幕文件也很少超过 200 KB——所以你几乎不会碰到这个限制。
能反过来把 VTT 转回 SRT 吗?
可以。VTT 转 SRT 转换器就是做这件事的,而通用字幕转换器可以处理这两个方向,还支持 SBV 和 ASS 格式。
需要完整转录?
上传音频或粘贴 YouTube 链接,即可获取带说话人标签、时间戳和摘要的完整 AI 转录。
iOS 和 Android 免费使用。无需账号。