返回
SRT/VTT 字幕转换
文本处理
正在载入
正在加载工具
工具代码会在打开时按需载入,请稍候。
本工具的全部运算都发生在你的浏览器中,输入内容不会发送到任何服务器。
关于这个工具
受限的 SRT/WebVTT 转换子集:逐字保留毫秒时间和多行正文,重新编号、统计重叠或提取文本。不播放视频、不校时,也不是完整格式校验器。
常见用途
- 为不同播放流程准备普通字幕文件。
- 检查嵌套重叠与重复编号,不删除字幕。
使用方法
- 1.粘贴支持的字幕或选择一个严格 UTF-8 文件;指定自动/SRT/WebVTT,不探测编码或加载外部资源。
- 2.选择 SRT、WebVTT 或纯文本 TXT,点击转换;核对完整字幕与重叠计数及转义预览,保留嵌套重叠。
- 3.阅读元数据、编号、顺序及样式诊断;存在变化提示时,确认后下载完整字幕/TXT;不含正文的 JSON 摘要可单独保存。
多行重叠实例
两条字幕、一对重叠、编号修复
9 00:00:01,001 --> 00:00:03,999 你好 世界 9 00:00:02,000 --> 00:00:04,000 重叠字幕
WEBVTT 1 00:00:01.001 --> 00:00:03.999 你好 世界 2 00:00:02.000 --> 00:00:04.000 重叠字幕
所有正长度交集都计入,包括嵌套和不相邻字幕;仅边界相接不算重叠。编号按原文顺序,保留重叠,不自动修复。
限制与说明
- 支持严格 SRT HH:MM:SS,mmm(可缺少数字编号)及有 WEBVTT 文件头和分隔空行的 WebVTT,时间 MM:SS.mmm 或 HH:MM:SS.mmm。规范化 LF/CRLF/CR 和一个开头 UTF-8 BOM。空行或仅 SPACE/TAB 的行分隔字幕块,其他非空正文行保留空白。每条需非空正文和正时长;任何坏字幕使整份转换失败。VTT 按开始时间稳定排序,SRT/TXT 保持原顺序;重新生成所有编号/标识。元数据和时间后缀先提示再省略。SRT/VTT 标签正文逐字保留,并提示显示兼容性;不猜测方言、帧率或编码。
- 单文件≤1 MiB;输入≤500000 UTF-16 单位、20000 行;≤2000 条字幕、每条≤4000 单位;输出≤500000 UTF-16 单位、2 MiB、20000 行。时间 00:00:00.000–99:59:59.999,恰好 3 位毫秒,结束晚于开始。文件读取15秒期限;转换为受限同步处理,不承诺工作线程或进程内存上限。
- TXT 按词法去掉已识别 b/i/u/c/v/lang/ruby/rt/font 与行内时间标签;单次解码 amp、lt、gt、nbsp、lrm、rlm 和安全的十进制/十六进制数字实体;未知标签或实体原样保留并提示。Ruby 正文与注音相邻,字幕间空行分隔。这不是 HTML 解析、净化、语音转录或渲染一致性保证。支持子集的毫秒值和多行原始正文可往返;编号、顺序、BOM、换行方式、头元数据、设置及样式语义不能往返。
- 在本地转换,不上传、不持久保存。字幕和 TXT 下载包含完整正文,请确认用途后分享。JSON 摘要不含正文、字幕标识、文件名或元数据。
常见问题
会自动修复重叠或样式吗?
所有正长度交集都计入,包括嵌套和不相邻字幕;仅边界相接不算重叠。编号按原文顺序,保留重叠,不自动修复。
转换是否无损?
TXT 按词法去掉已识别 b/i/u/c/v/lang/ruby/rt/font 与行内时间标签;单次解码 amp、lt、gt、nbsp、lrm、rlm 和安全的十进制/十六进制数字实体;未知标签或实体原样保留并提示。Ruby 正文与注音相邻,字幕间空行分隔。这不是 HTML 解析、净化、语音转录或渲染一致性保证。支持子集的毫秒值和多行原始正文可往返;编号、顺序、BOM、换行方式、头元数据、设置及样式语义不能往返。