ブログに戻る

SRT・VTT・ASS比較:2026年に選ぶべき字幕形式はどれか

SRT・VTT・ASSという3つの字幕形式を徹底比較。それぞれが扱える情報、崩れる場面、変換で失われるもの、そしてYouTube・Web・スタイル付き字幕・アーカイブ・TikTokに向いた形式を詳しく解説します。

2026年9月11日
Sablate Team

VTTとSRTの違いは小さなものです。VTT(WebVTTの略)は、SRTをWebブラウザ向けに調整した形式にすぎません。VTTファイルはWEBVTTというヘッダー行で始まり、ミリ秒の前にコンマではなくピリオドを書き、常にUTF-8で、SRTには置き場所のない位置指定やCSSによるスタイルも持てます。ASSはまったく種類の違うファイルです。何がいつ話されたかだけでなく、すべての行がどう描画されるか — フォント、色、正確な位置、単語単位のカラオケタイミング — を記述します。

SRTは、およそ10回中9回は正解の選択肢です。VTTは、そのファイルがWebページで再生される場合の正解です。ASSは、キャプションが単に表示されるのではなく「デザインされる」場合の正解です。この比較のそれ以外の部分はすべて細部にすぎませんが、その細部こそがファイルが拒否されたり、スタイルが黙って消えたり、タイミングが誤差でずれたりする原因になります。

以下では、それぞれの形式が実際に何を持っているか、そしてどの時点でそれぞれが力不足になるのかを見ていきます。

1つの表で見る比較

SRTVTTASS
正式名称SubRipWebVTTAdvanced 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年後でも正しく開けるファイルにしたいとき。まだSRTファイルを作る必要があるなら、SRTファイルの作成方法で、手入力、タイミング合わせ、自動生成の方法を解説しています。

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です。

ASSファイルの中身

先ほどと同じ最初の字幕を、最小限のASSファイルで書くとこうなります:

[Script Info]
ScriptType: v4.00+
PlayResX: 1920
PlayResY: 1080

[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default,Arial,64,&H00FFFFFF,&H000000FF,&H00000000,&H64000000,0,0,0,0,100,100,0,0,1,3,0,2,60,60,50,1

[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:01.00,0:00:04.12,Default,,0,0,0,,This is the first subtitle.

目を引く点が2つあります。1つ目は、どの行も名前付きスタイルを指していることです。そのため、ファイル全体の見た目を変えるには、何千ものキューを検索置換するのではなく、Style:行を1か所編集するだけで済みます。2つ目は、タイムスタンプが100分の1秒までしかないことで、ASSを経由して往復変換すると、キューが最大10ミリ秒ずれることがあります。

誰もが最初につまずく点が1つあります: ASSの色は&HBBGGRRという、バイト順が逆の形式で書かれます。 その前にはアルファ値のバイトが付き、00は不透明を表します。一見標準的なRGB16進数のように見えても、そうではありません — ブランドカラーをそのままコピーすると、チャンネルが入れ替わった別の色になってしまいます。

ASSとSSAの違い

SSA(SubStation Alpha)は同じ形式の旧バージョンで、ASSはその「v4+」改訂版です。ScriptType: v4.00+という行が宣言しているのがこれです。ASSではスタイルのフィールドとインラインの上書きタグが増え、現在のツールはどれもASSで書き出します。誰かから.ssaファイルが送られてきても、ASSを読み込めるプレイヤーやエディタなら開けます。

ASSに対応するプレイヤーとエディタ

libassを基盤とするデスクトッププレイヤーはASSを完全にレンダリングします。VLCやmpvがそうで、libassを使うメディアセンターも同様です。MKVは、ASSを必要なフォントと一緒に持ち運ぶために作られたコンテナです。Webブラウザは単体ではASSを表示できないため、Webプレイヤーには代わりにVTTのコピーが必要です。編集には、ASSのタイプセッティング向けに設計された無料ツールのAegisubがあり、Subtitle Editは他のあらゆる形式と並べてASSを開き、保存できます。

この形式は、スタイル付きの多言語配信を可能にするものでもあります。MKVは言語ごとに1つのASSトラックを持てる上にフォントファイルを添付できるため、そのフォントを一度も見たことがないパソコンでも、スタイルがまったく同じようにレンダリングされます。

ASSを使うべき場面: カラオケや単語単位のハイライトが必要なとき、キャプションを画面下部中央以外に配置したいとき、言語ごとに異なるタイポグラフィが必要なとき、あるいは複数のスタイル付き言語トラックを1つのファイルにまとめたいとき。

変換で残るもの

これらの形式を相互に変換するのは、一方向にしか安全ではありません。

変換結果
SRT→VTT実質的にロスレス — ヘッダーと句読点の変更のみ
VTT→SRTテキストとタイミングは残る、位置指定・リージョン・CSSは失われる
ASS→SRTテキストとタイミングは残る、スタイル・位置指定・カラオケはすべて失われる
ASS→VTTテキストとタイミングは残る、位置指定の一部は近似できる
SRT→ASS可能だが、プレーンなデフォルトスタイルになる — 追加されるのはコンテナであって、デザインではない

実務上のルールはこうです: 持っている中で最も情報量の多いバージョンをマスターファイルとして保存し、そこから簡易版を生成する。逆方向に変換しても、何も復元されません。

では、実際にどれを使うべきか?

配信先形式理由
YouTube、Vimeo、LinkedInSRT汎用的で、プレイヤーがどうせすべて再スタイルする
HTML5プレイヤーを使うWebページVTTtrack要素が要求する
オンライン講座プラットフォームVTTアップロード仕様で名指しで指定されることが多い
翻訳者やクライアントSRT世界中のあらゆる字幕ツールで開ける
DaVinci Resolveのような動画エディタSRT字幕トラックに読み込める — Resolveでの手順を参照
アーカイブやローカル再生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ファイルをマスターとして保管してください。そこから変換したものを、二度と元には戻せないからです。

よくある質問

YouTubeにはどの字幕形式を使うべきですか?

SRTを使ってください。YouTubeはどこでも受け付けており、どのエディタも書き出せますし、そもそもYouTubeはすべてのキャプションをプレイヤー自体のスタイルで表示するため、より高機能な形式を使っても得られるものはありません。VTTを使うべきなのは、そのファイルがWebVTTを想定したWebプレイヤーにも渡る場合だけです。

SRTとVTTの実際の違いは何ですか?

違いは3つです。VTTのタイムスタンプはミリ秒の前にピリオドを使い、SRTはコンマを使います。VTTファイルは必ず`WEBVTT`という行で始まり、常にUTF-8です。VTTには位置や配置を指定するキュー設定、CSSによるスタイル、任意のキュー名を追加できます。それ以外の部分は、両者はほとんど同じに見えます。

YouTubeはASS字幕ファイルを読み込めますか?

アップロード自体は受け付けられるかもしれませんが、スタイルはレンダリングされません。位置指定、フォント、色、輪郭線、カラオケのタイミングはすべて失われ、キャプションはYouTube自体のスタイルで表示されます。見た目がコンテンツの一部であるなら、スタイル付きファイルをアップロードするのではなく、キャプションを映像に焼き込んでください。

ASS形式が実際に必要になるのは、どんなときですか?

字幕の見た目そのものがコンテンツの一部である場合です: カラオケの単語タイミング、画面下部中央以外に配置されたキャプション、行ごとに異なるフォントや色、あるいは複数言語のスタイル付きトラックを1本のMKVにまとめる場合などです。ストリーミングプラットフォーム向けの通常のセリフ字幕であれば、ASSはその作業に対して過剰な形式です。

ASSをSRTに変換しても、何も失われませんか?

いいえ、失われます。テキストとタイミングはきれいに変換されますが、SRTにはスタイル情報を置く場所がないため、スタイルの指示はすべて破棄されます。位置指定、フォント、色、アニメーション、カラオケのタイミングはすべて消えます。一方でSRTをVTTに変換するのは、ほぼロスレスです — 主にヘッダー行と句読点の変更だけで済みます。

動画プレイヤーが最もよく対応している字幕形式はどれですか?

SRTは実質的にすべてのプレイヤーで対応しています。ASSはlibassを基盤とするデスクトッププレイヤーやメディアセンター — VLCやmpvなど — およびMKVコンテナで対応しています。VTTはHTML5のテキストトラックとしてWebブラウザが要求する形式です。どの場面でも同時に最良の選択肢になる、単一の形式は存在しません。

ASS字幕ファイルを開く方法や編集する方法は?

再生するだけなら、VLCやmpvで動画と同じ場所に置いて読み込むか、そのトラックが入ったMKVを再生してください。編集には、ASS向けに作られた無料エディタのAegisubか、Subtitle Editを使います。ASSファイルはプレーンテキストなので、普通のテキストエディタでも編集できます。ブラウザはASSを単体では表示できないため、Webプレイヤーにはその代わりにVTTのコピーが必要です。