要点まとめ
SRT と VTT は、プレーンテキストファイルで時間情報付き字幕を扱うという点では同じ役割を果たしますが、それぞれ使われる世界が異なります。SRT は定番の汎用フォーマットで、構造ができる限りシンプルであり、ほぼあらゆるプレーヤー、エディタ、プラットフォームでサポートされています。WebVTT は Web 向けの標準フォーマットで、HTML5 の
<track>プレーヤーでは必須です。さらに、SRT にはないスタイル指定、位置指定、メタデータにも対応しています。基本的な考え方としては、オープンな Web で公開するなら VTT、それ以外は SRT を使うのがおすすめです。内部構造はほぼ同じなので、プラットフォーム側の指定に応じて、必要なときに ワンクリックで相互変換できます。
字幕の運用をしていると、いずれ必ず「プラットフォームは .vtt を求めているのに、ツールが書き出したのは .srt だった」、あるいはその逆、という場面に出会います。幸い、形式を選び間違えても必要なのは変換だけです。ここでは、この 2 つの形式の実際の違い、それぞれが必要になる場面、そして変換時に起こりがちな落とし穴を整理してご紹介します。
2 つの形式を並べて比較
まずは同じ 2 つの字幕を、SRT で見ると次のようになります。
1
00:00:03,500 --> 00:00:06,000
Hello and welcome.
2
00:00:06,200 --> 00:00:09,100
Let's compare subtitle formats.…そして WebVTT では次のようになります。
WEBVTT
00:00:03.500 --> 00:00:06.000
Hello and welcome.
00:00:06.200 --> 00:00:09.100
Let's compare subtitle formats.見た目で分かる違いは 3 つあります。VTT には必須の WEBVTT ヘッダーがあること、SRT がミリ秒の前にカンマを使うのに対して VTT はピリオドを使うこと、そして VTT では連番が必須ではないことです。字幕ファイルを正しく変換せず、手作業で拡張子だけ変更してしまったときに起きる「字幕が読み込まれない」というトラブルのほとんどは、この 3 点が原因です。
機能比較
| SRT (SubRip) | WebVTT | |
|---|---|---|
| 初登場 | 約 2000 年(SubRip ripper) | 2010 年(W3C の Web 標準) |
| タイムコード区切り | カンマ(00:00:01,600) | ピリオド(00:00:01.600) |
| ヘッダー | なし | WEBVTT が必須 |
| スタイル指定 | 基本タグのみ(<i>, <b>)、対応状況は一貫しない | CSS ライクなキュースタイル、色、クラス指定に対応 |
| 位置指定 | 不可 | 可 — 位置、揃え、縦書きに対応 |
| チャプター & メタデータ | 不可 | 可(チャプター、ノート、JSON メタデータキュー) |
HTML5 <track> 対応 | 不可 — ブラウザでは VTT が必要 | 可 — 対応している唯一の形式 |
| デスクトッププレーヤー(VLC など) | ほぼ完全対応 | 広く対応 |
| 編集ソフトでの読み込み | ほぼ完全対応 | 一般的だが SRT ほどではない |
SRT が必要な場面
- 最大限の互換性が必要なとき: クライアント、編集者、あるいは再生環境が不明なプレーヤーに字幕を渡す場合でも、SRT ならほぼどこでも開けます。
- 動画編集: Premiere Pro、DaVinci Resolve、Final Cut では、SRT の字幕トラックが最も安定して読み込まれます。
- YouTube、LinkedIn、Instagram へのアップロード: いずれも字幕用に SRT を受け付けています。
- 翻訳ワークフロー: 構造が非常にシンプルなため、翻訳ツールを経由して往復しても壊れにくいのが特長です。
この形式が初めての方は、まずこちらの詳しい解説をご覧ください。SRT ファイルとは?
VTT が必要な場面
- 自社サイト上の HTML5 動画:
<track>要素が受け付けるのは WebVTT のみで、SRT はブラウザでは読み込まれません。 - スタイルや位置指定のある字幕: 話者ごとの色分け、ローワーサード表示中に字幕を画面上部へ配置するケース、CJK 言語向けの縦書きなどです。
- チャプター表示: VTT ファイルでは、HTML5 プレーヤーがネイティブ表示できるチャプターマーカーを定義できます。
- モダンなストリーミング環境: HLS や多くの Web プレーヤーでは、VTT セグメントが想定されています。
SRT と VTT を相互変換する方法(壊さずに変換するには)
構造が非常に近いため、変換そのものは機械的に行えます。ただし、ファイル拡張子を変えるだけでは変換にはなりません。正しい変換ツールは、WEBVTT ヘッダーの追加または削除、すべてのタイムコードにあるカンマとピリオドの置き換え、さらに連番の処理まで行う必要があります。無料の VTT ↔ SRT Converter なら、それらをすべてブラウザ内で実行できます。貼り付けるかアップロードして、変換して、ダウンロードするだけです。ファイルがサーバーに送信されることはありません。
変換時に知っておきたい注意点は 3 つあります。
- VTT → SRT ではスタイル情報が失われます。 位置指定、色、クラスには SRT 側の対応表現がないため、テキストとタイミングは残っても、見た目の情報は保持されません。
- 文字エンコーディングは重要です。 どちらの形式も UTF-8 を使うのが基本で、古いエンコーディングだとアクセント付き文字や非ラテン文字が文字化けします。
- 変換後は検証しましょう。 それでもプラットフォームに拒否される場合は、SRT Validator でキューの重なりや不正なタイムコードを確認し、全体の時間ずれは Subtitle Time Shift で調整してください。
そもそも字幕ファイルはどこから作るのか?
どちらの形式も、もとになるのは文字起こしです。YouTube コンテンツなら、YouTube Transcript Generator を使えば、どの動画リンクからでも時間情報付きテキストを生成し、SRT として書き出せます。自分で録音した会議、講義、インタビューなどであれば、Soz AI app が 99 以上の言語で話者ラベル付き音声文字起こしを行えます。また、プレーンテキストはいつでも TXT to SRT Generator を使って字幕化できます。
よくある質問
.srt を .vtt にリネームするだけで使えますか?
いいえ、使えません。タイムコードの区切り文字が異なり(カンマとピリオド)、VTT には WEBVTT ヘッダーも必須です。そのため、名前だけ変えたファイルはブラウザで読み込めません。正しい変換ツールを使えば数秒で済みます。
YouTube ではどの形式が使われますか?
YouTube は SRT と VTT の両方のアップロードに対応しています(独自形式もあります)。内部では変換されるため、手元にあるほうをアップロードすれば問題ありません。
VTT は SRT に置き換わるのでしょうか?
Web 上では VTT が標準であり、今後なくなることはまずありません。一方で、編集ソフト、デスクトッププレーヤー、翻訳パイプラインなどでは、SRT が引き続き共通言語として使われています。どちらの形式もしばらく廃れる見込みはないため、本格的な運用では変換ツールを手元に置いておくのが基本です。
字幕は SEO に影響しますか?
はい、影響します。プラットフォームや検索エンジンは字幕テキストをインデックスするため、動画内で話されている内容でも見つけてもらいやすくなります。さらに、動画と一緒にページ上へ文字起こしを掲載すると、その効果をより高められます。
