跳到主要内容
SubtitleMatrix

TXT 转 SRT

格式转换纯文本稿
或者粘贴字幕文本

选项

当源文件没有结束时间时使用(纯文本、LRC)。输出里的时间轴是在这里生成的,不是转换来的,所以填多少就是多少。

这次转换会改变什么

有 1 项会被丢弃或需要你决定

  • 时间

    时间轴本身——源文件不记录任何时间,因此输出的时间轴是生成的,而不是转换来的

这份清单来自这两种格式的能力矩阵,而不是你加载的这份具体文件。如果具体文件用到了格式允许、但矩阵没有建模的特性,可能会丢得更多。

这一页把纯文本变成 SRT:每一行文字得到一个时间槽,第一行从 0 开始,之后每行接着上一行的结束,每行停留多久由“时长”参数决定,默认 2000 毫秒。时间轴是这一步生成的,因为 TXT 里一个时间码都没有。

“时长”是这一页最重要的输入:它决定每条 cue 的宽度,也决定整份字幕的总长——1000 是每行 1 秒,3000 是每行 3 秒;最后一条的结束时间等于行数乘以这个值。参数值就印在输入框旁边,便于核对。

空行是段落分隔,不是空字幕,所以按段落写的文本不会在时间轴里留下空洞。生成的起点是等间距的,要与画面对齐,可再用平移、缩放或对轴工具整体移动;行序与原文完全一致,不会因为时长参数而重排,每条字幕仍是单行;改完参数后可以直接重新转换核对。

转换在浏览器内完成;批量时多个 TXT 串行处理,结果打包下载,文件不上传。

示例

一份典型的 TXT 文件转成 SRT

输入

The quick brown fox jumps over the lazy dog.

Second paragraph, first line.
Second paragraph, second line.

输出

1
00:00:00,000 --> 00:00:02,000
The quick brown fox jumps over the lazy dog.

2
00:00:02,000 --> 00:00:04,000
Second paragraph, first line.

3
00:00:04,000 --> 00:00:06,000
Second paragraph, second line.

这份产物丢掉了时间轴(它由本站排定);文字逐行进入编号 cue,行序不变。

同一转换遇到带 BOM 与空行的 TXT

输入


Hello world.

Second block.

输出

1
00:00:00,000 --> 00:00:02,000
Hello world.

2
00:00:02,000 --> 00:00:04,000
Second block.

真实文件常带 BOM、Windows 换行、前后空白和多层空行。可以对照上面那份干净样例,看看解析器能容忍到什么程度。

常见问题

TXT 转 SRT 的时间码从哪来?

由这一页生成。第一行从 0 开始,之后每行接着上一行的结束,单行长度取“时长”参数;TXT 文件里没有可读取的时间,转换报告会持续标明“时间轴是生成的”。

TXT 转 SRT 可以改每行时长吗?

可以。参数以毫秒为单位、对所有行统一生效:1000 是每行 1 秒,3000 是每行 3 秒。改完后整条时间轴的长度随之变化。

TXT 转 SRT 时空白行会变成空字幕吗?

不会。空白行是段落分隔,不生成 cue;时间轴里没有来自空行的空洞,只有含文字的行才占时间。

TXT 转 SRT 的 cue 边界怎么算?

一条非空行就是一条 cue,按出现顺序排列。TXT 没有多行 cue 的概念,所以每条字幕默认只有一行文字。

TXT 转 SRT 生成的时间轴能直接对视频吗?

它是一份等间距的起点,不是与画面对齐的成品。如果已有真实起始时间,从 CSV 或 LRC 转进来会更省事;否则可以用平移、缩放或对轴工具整体调整。

TXT 转 SRT 的输出用什么编码?

输出固定是 UTF-8、Unix 换行符、不带 BOM。输入 TXT 若是 UTF-16 或 Windows 单字节编码,会先解码并在结果面板里说明。

相关工具