SRT・VTT・ASS比較:2026年に選ぶべき字幕形式はどれか
SRT・VTT・ASSという3つの字幕形式を徹底比較。それぞれが扱える情報、崩れる場面、変換で失われるもの、そしてYouTube・Web・スタイル付き字幕・アーカイブ・TikTokに向いた形式を詳しく解説します。
SRTは、およそ10回中9回は正解の選択肢です。VTTは、そのファイルがWebページで再生される場合の正解です。ASSは、キャプションが単に表示されるのではなく「デザインされる」場合の正解です。この比較のそれ以外の部分はすべて細部にすぎませんが、その細部こそがファイルが拒否されたり、スタイルが黙って消えたり、タイミングが誤差でずれたりする原因になります。
以下では、それぞれの形式が実際に何を持っているか、そしてどの時点でそれぞれが力不足になるのかを見ていきます。
1つの表で見る比較
| SRT | VTT | ASS | |
|---|---|---|---|
| 正式名称 | SubRip | WebVTT | Advanced SubStation Alpha |
| 正式な仕様 | ない、慣習のみ | ある、W3C | ない、コミュニティによる文書化 |
| タイムスタンプ | 00:00:01,000(コンマ) | 00:00:01.000(ピリオド) | 0:00:01.00(センチ秒) |
| スタイル | 基本的なタグ、対応は一貫しない | ::cueによるCSS | 完全なスタイルテーブルと行ごとの上書き |
| 位置指定 | ない | ある、キュー設定 | ある、ピクセル単位で |
| カラオケ / 単語タイミング | ない | ない | ある |
| フォントの埋め込みまたは添付 | ない | ない | ある、MKVにmux時 |
Webのtrack要素 | 非対応 | 対応、必須 | 非対応 |
| YouTube、Vimeo、LinkedIn | 対応 | 対応 | スタイルはレンダリングされない |
| VLC、mpv、メディアセンター | 対応 | 対応 | 対応 |
| 典型的な用途 | あらゆる場面 | Webプレイヤー | スタイル付きキャプション、アニメ、カラオケ |
SRT: どこでも動く形式
SRTのキューは4行です — 番号、時間範囲、テキスト、そして空行:
1
00:00:01,000 --> 00:00:04,120
This is the first subtitle.
これで形式のすべてです。公式な仕様は存在せず、SRTはあらゆるものが実装に合意した慣習にすぎません — だからこそ、どこでも動くのです。
この慣習には曖昧な部分があります。ほとんどのプレイヤーはテキスト内の<i>、<b>、<u>を解釈し、色属性付きのfontタグを解釈するプレイヤーも多いですが、これはどれも保証されたものではなく、タグを理解しないプレイヤーはそれをそのままの文字として表示してしまうことがあります。エンコーディングも典型的な罠です: SRTはどんなエンコーディング規則よりも前から存在するため、Windows-1254やLatin-1で保存されたファイルは、UTF-8を前提とするプレイヤーではアクセント付き文字や非ラテン文字が文字化けして表示されます。SRTをUTF-8で保存しておけば、「字幕が壊れている」という問題の大半はそもそも起きません。
SRTを使うべき場面: プラットフォームにアップロードするとき、クライアントにファイルを送るとき、あるいは15年後でも正しく開けるファイルにしたいとき。
VTT: 拡張性を持ったWeb版のSRT
WebVTTは、HTML5のtrack要素が求める形式です。Webページの中で字幕を再生するなら、ブラウザが求めるのはVTTだけです。
WEBVTT
intro
00:00:01.000 --> 00:00:04.120 line:90% align:center
This is the first subtitle.
SRTとの違いで覚えておく価値があるのは、次の4点です:
- ヘッダー。 ファイルは
WEBVTTで始まらなければなりません。これがないファイルは即座に拒否され、これがまさに、リネームしたSRTがブラウザで動かない最も多い原因です。 - 句読点。 ミリ秒の区切りはコンマではなくピリオドです。これを直さずに
.srtを.vttにリネームすると、読み込まれるのに何も表示されないファイルができあがります。 - キュー設定。 各キューには
line、position、align、size、verticalを指定でき、テキストを画面下部中央から移動できます — 焼き込みテキストやロゴがその領域を占めている場合に便利です。 - 本格的なスタイルと構造。 VTTは、CSSの
::cueセレクタを使ったSTYLEブロック、NOTEコメント、REGION定義、キューへの任意の名前付けに対応しています。さらに常にUTF-8なので、エンコーディングの罠が完全になくなります。
VTTを使うべき場面: プレイヤーがWebページであるとき、あるいは配信仕様がWebVTTを指定しているとき。特にオンライン講座のプラットフォームは、名指しでこれを要求することがよくあります。
ASS: キャプションがデザインの一部である場合
Advanced SubStation Alphaは、まったく種類の違うファイルです。SRTとVTTが記述するのは何がいつ話されたかです。ASSが記述するのはそれがどのように描画されるかです。
ASSファイルはセクションで構成されています。[Script Info]はPlayResXとPlayResYで仮想キャンバスを定義するので、動画の解像度が何であっても位置とフォントサイズの比率が保たれます。[V4+ Styles]には、フォント、サイズ、本体色と輪郭色、ボーダースタイル、輪郭と影の太さ、アラインメント、マージンを持つ名前付きスタイルが入ります。[Events]にはセリフの行が入り、それぞれのスタイルをインラインで上書きできます: 正確な配置のための\pos、アンカリングのための\an、フェードのための\fad、アニメーションする変形のための\t、そして単語単位のカラオケタイミングのための\kです。
誰もが最初につまずく点が1つあります: ASSの色は&HBBGGRRという、バイト順が逆の形式で書かれます。 一見標準的なRGB16進数のように見えても、そうではありません — ブランドカラーをそのままコピーすると、チャンネルが入れ替わった別の色になってしまいます。
この形式は、スタイル付きの多言語配信を可能にするものでもあります。MKVは言語ごとに1つのASSトラックを持てる上にフォントファイルを添付できるため、そのフォントを一度も見たことがないパソコンでも、スタイルがまったく同じようにレンダリングされます。
ASSを使うべき場面: カラオケや単語単位のハイライトが必要なとき、キャプションを画面下部中央以外に配置したいとき、言語ごとに異なるタイポグラフィが必要なとき、あるいは複数のスタイル付き言語トラックを1つのファイルにまとめたいとき。
変換で残るもの
これらの形式を相互に変換するのは、一方向にしか安全ではありません。
| 変換 | 結果 |
|---|---|
| SRT→VTT | 実質的にロスレス — ヘッダーと句読点の変更のみ |
| VTT→SRT | テキストとタイミングは残る、位置指定・リージョン・CSSは失われる |
| ASS→SRT | テキストとタイミングは残る、スタイル・位置指定・カラオケはすべて失われる |
| ASS→VTT | テキストとタイミングは残る、位置指定の一部は近似できる |
| SRT→ASS | 可能だが、プレーンなデフォルトスタイルになる — 追加されるのはコンテナであって、デザインではない |
実務上のルールはこうです: 持っている中で最も情報量の多いバージョンをマスターファイルとして保存し、そこから簡易版を生成する。逆方向に変換しても、何も復元されません。
では、実際にどれを使うべきか?
| 配信先 | 形式 | 理由 |
|---|---|---|
| YouTube、Vimeo、LinkedIn | SRT | 汎用的で、プレイヤーがどうせすべて再スタイルする |
| HTML5プレイヤーを使うWebページ | VTT | track要素が要求する |
| オンライン講座プラットフォーム | VTT | アップロード仕様で名指しで指定されることが多い |
| 翻訳者やクライアント | SRT | 世界中のあらゆる字幕ツールで開ける |
| アーカイブやローカル再生 | MKV内のASS | スタイルとすべての言語トラックを1ファイルに保てる |
| TikTok、Reels、Shorts | なし — 焼き込む | これらのプラットフォームは字幕ファイルをそもそも読み込まない |
最後の行は、多くの人が遅れて気づくものです。縦型のソーシャルプラットフォームには字幕アップロードという仕組みそのものが存在せず、そこでのキャプションは動画の中のピクセルです — これはファイル形式の問題ではなく、レンダリングの問題です。動画に字幕を焼き込む方法では、画質を損なわずに行う方法を解説しています。
これがSablateにどう当てはまるか
Sablateはすべてのプランで.srt、.vtt、.txtを書き出し、Proでは.assとソフト字幕の.mkvも書き出せます。知っておく価値があるのは、エディタのスタイルパネルで作ったスタイルがプレビュー用の近似ではないという点です: .ass書き出し、焼き込み済みの.mp4、.mkv内のトラックは、すべて同じスタイル定義からlibassによってレンダリングされるため、3つの出力は完全に一致します。
1つの録音から複数言語を作る場合、形式の選択は配信方法の選択と絡み合ってきます — 多言語ワークフローでは両方をまとめて解説しています。Proは$29の一度きりの支払いで、詳細は料金ページをご覧ください。
まとめ
特別な理由がない限りはSRTを使ってください。ブラウザや講座プラットフォームが名指しで求めてきたときはVTTを使ってください。キャプションがデザインされている場合 — カラオケ、配置、言語ごとのタイポグラフィ — はASSに手を伸ばし、そのASSファイルをマスターとして保管してください。そこから変換したものを、二度と元には戻せないからです。