字幕格式转换

SRT、WebVTT、ASS 三种字幕互转,自动识别源格式。时间码写得乱一点也能认,样式标签要不要保留由你决定。

源文件是 ASS 时才有影响。删除会丢掉加粗、颜色、定位等信息,只留文字;保留会把 {\b1} 这类标签原样写进 SRT / WebVTT,多数播放器只会把它们当普通文字显示。

把字幕粘进来,或者选择一个字幕文件

三种格式到底差在哪

SRT 最简单,只有序号、时间码和文本,几乎所有播放器和剪辑软件都认,但没有样式和定位信息。WebVTT 是 HTML5 视频 <track> 的标准字幕格式,头部必须有 WEBVTT,时间码用句点分隔毫秒,还能写 <b>、<i> 和定位信息。ASS/SSA 是特效字幕格式,带独立的样式表,能设定字体、颜色、描边、位置和动画,缺点是很多播放器渲染效果不一致。

时间码写法为什么这么宽容

不同工具导出的时间码并不统一:SRT 习惯写 00:01:02,500,WebVTT 写成 00:01:02.500,ASS 写成 0:01:02.50(百分秒,小时只有一位)。有的工具还会省略小时,直接写 01:02.500。本页的解析器同时接受逗号和句点、允许省略小时,小数位不足三位时按十分秒补齐,所以同一份字幕改过几次也不会解析失败。

ASS 样式标签的取舍

ASS 的样式分两部分:一部分在 [V4+ Styles] 段里定义,另一部分写在每条对白的文本里,用 {\...} 包起来,比如 {\b1} 是加粗、{\an8} 是把文字放到顶部。转成 SRT 或 WebVTT 时,标准里没有对应的语法,所以默认会把这些标签删掉。如果你的播放器恰好支持 ASS 标签,可以选「保留样式标签」,但要有心理准备:多数播放器只会把 {\b1} 当普通文字显示出来。

解析失败怎么办

错误提示会带上出错的行号,方便回到原文定位。最常见的原因是时间码里的箭头写成了别的符号、毫秒位数不对,或者 SRT 序号行被误删。遇到坏掉的块,本页会跳过它并继续解析剩下的内容,不会整份文件一起失败。

整个过程在浏览器里完成,字幕内容不会发送到任何服务器,断网也能用。转出来的文件建议用播放器实际放一遍确认时间轴对齐,尤其是从 ASS 转出的,因为原始的对齐方式(底部、顶部、位置偏移)在转换后无法完全保留。