**什么是 SRT 文件？格式、示例与创建方法 | SozAI**
Source: https://sozai.app/zh/what-is-an-srt-file/

[字幕](https://sozai.app/zh/category/zimu/)

# 什么是 SRT 文件？格式、示例与创建方法

7 月 19, 2026  • 1 min read • 367 views  • 最后更新： 10 月 2, 2026

![An old mechanical stopwatch resting on a printed page in strong daylight](https://sozai.app/wp-content/uploads/post-what-is-an-srt-file-1280x720.webp)

> ### 要点速览
>
>
>
> SRT 文件（SubRip Subtitle，扩展名 `.srt` ）是一个纯文本字幕文件：由带编号的字幕块组成，每块都有以 `时:分:秒,毫秒` 写成的开始和结束时间，以及要显示的文字。它不含视频或音频，可用任何文本编辑器打开，几乎所有播放器和视频平台都接受它。你可以手动写一个， [用纯文本生成](https://sozai.app/zh/tools/txt-to-srt/) ，或从文字稿中导出，然后在上传前 [用校验工具检查](https://sozai.app/zh/tools/srt-validator/) 。

如果你曾在视频播放器里打开字幕，很可能就是一个 SRT 文件在起作用。它是至今仍在日常使用的最古老的字幕格式之一，也是最简单的文件格式之一，这正是它无处不在的原因。

这一页把整个格式集中讲清楚：文件里有什么，每个部分的确切规则及一手来源，如何创建和修复，以及它与 WebVTT 有什么不同。

## SRT 文件内部是什么样子？

SRT 文件就是一串字幕块，每个字幕块都有相同的四个部分：序号、时间行、一两行文字，以及一个空行。用记事本或 TextEdit 打开任何 `.srt` 文件，你都会看到这样的块：

1
00:00:01,600 --> 00:00:04,200
欢迎回到频道。

2
00:00:04,400 --> 00:00:07,900
今天我们来看看
字幕文件到底是怎么工作的。

3
00:00:08,100 --> 00:00:10,000
<i>（关门声）</i>

从上往下读，第二个字幕块的意思是：从视频的第 4.4 秒到第 7.9 秒显示这两行字。没有文件头，没有样式部分，也没有二进制数据，所以文件很小，几乎任何程序打开、编辑和保存它都不会出问题。

## SRT 格式有哪些规则？

最接近 SubRip 参考文档的，是档案机构和容器格式保存的描述。 [Library of Congress 的格式说明](https://www.loc.gov/preservation/digital/formats/fdd/fdd000569.shtml) 把时间码写成 时:分:秒,毫秒，即 00:00:00,000，开始和结束之间用箭头 `-->` ，而 [Matroska 字幕文档](https://www.matroska.org/technical/subtitles.html) 描述的是同样的四部分字幕块。

| 部分 | 规则 | 示例 |
| --- | --- | --- |
| 序号 | 单独一行的整数，从 1 开始递增 | `2` |
| 时间行 | 开始和结束写成 时:分:秒,毫秒，之间用 `-->` 分隔，两侧各有一个空格 | `00:00:04,400 --> 00:00:07,900` |
| 毫秒分隔符 | 用逗号，不是句点；句点属于 WebVTT | `,400` |
| 文字 | 一行或多行一起显示；文件中的换行就是屏幕上的换行 | `今天我们来看看` |
| 空行 | 结束这个字幕块；下一个序号开始下一块 | （空行） |
| 格式 | 简单的标签，如 `<i>` 、 `<b>` 和 `<u>` ，许多播放器支持，另一些会忽略 | `<i>（关门声）</i>` |

有两个细节比其他所有问题加起来破坏的文件还多。第一是逗号：用句点写的时间行， `00:00:04.400` ，是 WebVTT 的习惯，有些工具在 SRT 中会拒绝它。第二是空行：缺了空行的字幕块会和下一块连在一起，播放器要么把它们合并，要么丢掉一块。

### 编码

请把 SRT 文件保存为 UTF-8。它涵盖所有文字，从带重音符号的拉丁字母到阿拉伯文、中文和表情符号，也是当今播放器所期望的。旧版 Windows 工具生成的文件有时用的是某种地区性的旧编码，这就是带重音的字母变成问号或一串怪符号的原因。在文本编辑器中重新另存为 UTF-8 就能解决。有些程序还会在 UTF-8 文件开头加一个看不见的字节顺序标记；多数播放器会忽略它，但如果某个严格的工具拒绝第一条字幕，首先要试的就是保存为不带该标记的 UTF-8。

### 行长是阅读规则，不是格式规则

格式本身并不限制一行可以有多长；限制来自风格规范。Library of Congress 的说明提到每行 32 个字符的限制， [BBC Subtitle Guidelines](https://www.bbc.co.uk/accessibility/forproducts/guides/subtitles/) 对广播规定 37 个字符， [Netflix English (USA) Timed Text Style Guide](https://partnerhelp.netflixstudios.com/hc/en-us/articles/217350977-English-USA-Timed-Text-Style-Guide) 则允许每行 42 个字符、最多两行。播放器无论如何都会显示更长的行，通常是自动折行，所以这个限制关乎的是人们能否来得及读完字幕，而我们 SRT 校验工具里的阅读速度检查，正是按你选择的规范来衡量这一点。

## SRT 文件有什么用途？

- **视频平台：** 把 SRT 和视频一起上传，观众就能得到可以开关的字幕。
- **桌面和电视播放器：** VLC 和许多其他播放器会加载放在视频文件旁边、同名的 SRT。
- **翻译：** 翻译人员替换文字行而保持时间不变，每种语言得到一个 SRT。
- **编辑软件：** 常见的视频编辑软件都能把 SRT 作为字幕轨道导入。
- **无障碍：** 为聋人和听障观众制作的字幕，带有方括号中的声音描述和说话人姓名，都可以放进普通 SRT 的文字行里。

## 怎样创建 SRT 文件？

### 从视频自动生成

对于 YouTube 视频，把链接粘贴到 [YouTube 文字稿工具](https://sozai.app/zh/youtube-transcript/) 中，然后在文字稿页面上点击 SRT：时间来自视频自己的字幕。对于你自己的录音和文件， [SozAI 应用](https://sozai.app/zh/download/) 可以转写 99 种语言的音频并导出字幕。

### 从你已有的文字生成

如果你有纯文本的稿件或文字稿，免费的 TXT 转 SRT 生成器会把每个段落变成一个字幕块，并按其长度以每分钟 150 词给出时长，不短于 2 秒，也不长于 8 秒。请先拆分长段落：超过 20 个词的字幕块会触到 8 秒的上限，结果快得读不完。它在你的浏览器中运行，不会上传任何内容。

### 手动编写

对于一小段视频，在文本编辑器里手写 SRT 完全合理：按四部分的块来写，保存为 UTF-8 的 `subtitles.srt` ，就完成了。超过一两分钟的视频，手动定时就变得繁琐，上面两种方式中的任何一种都更快。

## 为什么我的 SRT 文件不能用？

| 问题 | 通常的原因 | 解决办法 |
| --- | --- | --- |
| 字幕完全不显示 | 扩展名错误、编码错误，或时间行格式不对 | 用 SRT 校验工具检查文件，它会指出有问题的字幕块 |
| 字幕整体提前或延后相同的时间 | 视频有片头或剪辑，而文件不知道 | 用 [字幕时间平移工具](https://sozai.app/zh/tools/subtitle-time-shift/) 一次性移动所有时间码 |
| 字幕随着视频播放越来越不同步 | 文件是按另一种帧率定时的，例如 23.976 对 25 | 参见 [字幕为什么会不同步](https://sozai.app/zh/subtitles-out-of-sync/) |
| 带重音的字母显示成乱码 | 以旧编码保存 | 重新另存为 UTF-8 |
| 平台拒绝该文件 | 它要的是 WebVTT | 用 [VTT 与 SRT 转换器](https://sozai.app/zh/tools/vtt-srt-converter/) 转换 |

## SRT 与 WebVTT 和基于帧的时码有什么不同？

WebVTT（ `.vtt` ）是 HTML5 视频播放器使用的 W3C 格式。 [W3C WebVTT 规范](https://www.w3.org/TR/webvtt1/) 在句点之后写三位数的毫秒，并让小时可以省略，文件以一行 `WEBVTT` 文件头开始；它还增加了 SRT 没有的定位和样式。时间是同一个时刻的不同写法，所以两者互转只涉及标点和文件头，在 [VTT 与 SRT](https://sozai.app/zh/vtt-vs-srt/) 中有更详细的说明。

视频编辑软件是按帧而不是毫秒计时的，即 SMPTE 时码，HH:MM:SS:FF。SRT 存的是真实时间，所以当字幕是根据剪辑的时码制作时，帧率决定结果：在每秒 29.97 帧时，一小时的非丢帧时码在真实时间里比标签所说的长 3.6 秒。 [我们的时码转换器](https://sozai.app/zh/tools/timecode-converter/) 可以把 SMPTE 时码（包括丢帧）转换成 SRT 时间戳，也可以反向转换。

如果你只需要文字而不要任何时间， [字幕转文字工具](https://sozai.app/zh/tools/subtitle-to-text/) 会从 SRT 或 VTT 中去掉编号和时间码，只留下可读的段落。

答案

## Frequently Asked Questions

怎样打开 SRT 文件？

任何文本编辑器都能打开：Windows 上的记事本、Mac 上的 TextEdit，或代码编辑器。要配合视频观看，请把 SRT 放在与视频同名的视频文件旁边，再用 VLC 之类的播放器打开视频，它会自动加载。视频平台则把 SRT 当作单独上传的字幕。

SRT 就是隐藏式字幕吗？

不是。SRT 是一种文件格式，隐藏式字幕只是它的一种用途。为聋人和听障观众制作的字幕还会描述声音，比如关门声，并说明是谁在说话；这些都可以放进 SRT 文件的文字行里，所以同一种格式既能承载普通字幕，也能承载这类字幕。

SRT 文件里包含视频吗？

不包含。SRT 文件只有文字：字幕序号、时间行和要显示的字。即使是一部长电影，它通常也只有几千字节。视频保留在它自己的文件里，由播放器或平台在播放时把两者合在一起。

SRT 文件中的时间戳是什么格式？

时、分、秒和毫秒，毫秒前用逗号：00:00:04,400。开始和结束写在同一行，用箭头隔开，00:00:04,400 --> 00:00:07,900。WebVTT 用句点代替逗号写同一个时间，这是手写的 SRT 被拒绝的最常见原因。

一行字幕可以有多少个字符？

格式没有限制；风格规范有。Netflix English (USA) Timed Text Style Guide 允许每行 42 个字符、最多两行，BBC Subtitle Guidelines 对广播规定 37 个字符。更长的行仍然会显示，但观众可能来不及读完。我们的 SRT 校验工具可以按其中任一规范检查文件。

能在手机上编辑 SRT 文件吗？

可以。SRT 是纯文本，所以手机上的任何文本编辑器都能修改文字。不过在小屏幕上手动改时间容易出错；要把所有时间码移动相同的量，请使用浏览器工具，比如字幕时间平移工具，它在手机上可用，而且不会上传文件。

![Merey Tleugazin](https://sozai.app/wp-content/themes/sozai/assets/images/merey-tleugazin-2026.webp)

[Merey Tleugazin](https://sozai.app/about/merey/)

SozAI 创始人。正在为全球专业人士打造将语音转为文本的工具。

- [Instagram](https://instagram.com/mereytleugazin)
- [X](https://x.com/mereytleugazin)

## 相关文章

- [8 月 2 1 min ### 字幕不同步:修复固定偏移与逐渐漂移的问题](https://sozai.app/zh/subtitles-out-of-sync/)
- [7 月 19 1 min ### VTT 与 SRT：你该选择哪种字幕格式？](https://sozai.app/zh/vtt-vs-srt/)
- [8 月 2 1 min ### 字幕格式到底该选哪一种?](https://sozai.app/zh/which-subtitle-format-do-i-need/)

[![SozAI](https://sozai.app/wp-content/themes/sozai/assets/images/appicon.png) SozAI — 免费下载 即时转录音频和视频 获取 App](https://sozai.app/zh/download/)


---
This is the markdown twin of https://sozai.app/zh/what-is-an-srt-file/ — the same content, without the markup.
Published by SozAI (https://sozai.app). Reuse and quotation are allowed with attribution and a link back.
Machine-readable index: https://sozai.app/llms.txt · data API: https://sozai.app/api/
