
SRTとVTT(およびTTML)の比較:どの字幕形式を使うべきか
Summarize this article with:
SRTとVTTはどちらも開始時刻と終了時刻を持つ字幕テキストを保存します。SRTは汎用性が高く安全な標準形式で、ヘッダーがなく、ミリ秒の前にカンマを使い、ほぼすべてのプレーヤーやSNSで読み込めます。VTT(WebVTT)は先頭にWEBVTT行が必要で、ミリ秒の前にピリオドを使い、配置指定、CSSスタイリング、話者タグに対応しており、HTML5動画やHLS配信のネイティブ形式です。TTMLはNetflixやDisney+などの配信サービスや放送局が指定プロファイルで要求するXML形式です。SNS等へのアップロードにはSRT、自社サイトのプレーヤーにはVTT、納品仕様で指定された場合のみTTMLを使用してください。
SRTは可搬性、VTTはWeb、TTMLは放送およびストリーミング配信向けです。 SRTとVTTのどちらを選ぶか迷っている場合は、SNSプラットフォームやデスクトッププレーヤーへのアップロードにはSRTを使い、自社WebサイトやHLSストリーミングの動画にはVTTを使用してください。両ファイルの違いはヘッダー行と各タイムスタンプの1文字だけであり、これは字幕ファイルが正常に読み込まれない最も一般的な原因でもあります。
SRT vs VTT:簡単なまとめ
| 用途・状況 | 推奨形式 | 理由 |
|---|---|---|
| YouTube、Facebook、LinkedIn、Xへのアップロード | SRT | あらゆる場所で対応しており、追加設定が不要 |
| Vimeoへのアップロード | VTTまたはSRT | Vimeoは両方に対応しており、WebVTTを推奨 |
<video>タグで自社サイトに動画を埋め込む場合 | VTT | ブラウザがネイティブに読み込める唯一のテキストトラック形式 |
| HLSまたはDASHストリームの構築 | VTT | HLSの標準テキストトラック形式 |
| Netflix、Disney+、または放送局への納品 | 指定プロファイルのTTML | 納品仕様書で必須とされているため |
| ファイルを共有するが相手の環境が不明な場合 | SRT | ほぼすべてのプレーヤーで再生可能 |
SRTとは何か、なぜデファクトスタンダードになったのか
SRT(SubRip Text)は、2000年代初頭から実質的な標準字幕形式となっています。 当時、SubRipプログラムがDVDからリッピングした字幕に使用したのが始まりです。拡張子は.srtのプレーンテキストファイルです。
1
00:00:01,000 --> 00:00:04,500
これは最初の字幕行です。
2
00:00:05,200 --> 00:00:09,800
これは2行目の字幕です。
2行にまたがることもできます。
各エントリには連番、タイムスタンプのペア、1〜2行のテキスト、そして空行が含まれます。タイムスタンプの形式はHH:MM:SS,mmmで、ミリ秒の前にカンマが使われます。これはSRTが生まれたヨーロッパの一部地域でカンマが小数点として使われていたためです。ピリオドを使用すると、多くのプレーヤーでSRTファイルがエラー表示もなく読み込みに失敗します。
SRTは基本的な<b>、<i>、<u>タグをサポートしていますが、プレーヤーによって挙動が異なります。位置指定、CSSスタイリング、話者ラベル、メタデータヘッダーはありません。一般的なテキストエディタで作成や修正が可能です。
VLC、MPV、Plex、Premiere Pro、Final Cut Pro、DaVinci Resolveをはじめ、YouTube、Vimeo、Facebook、LinkedIn、Xなど、主要なプレーヤーや編集ソフトのすべてがSRTに対応しています。1つの形式だけを用意するなら、SRTを選ぶのが確実です。
VTTとは何か、どのような場合に重要か
VTT(WebVTT、Web Video Text Tracks)は、W3CがHTML5動画向けに策定した字幕形式です。 .vttファイルはSRTとよく似ていますが、2つの構文上の違いと複数の追加機能を備えています。
WEBVTT
00:00:01.000 --> 00:00:04.500 line:90% align:center
<v Alice>これは最初の字幕です。
00:00:05.000 --> 00:00:08.200 position:10% align:start
<v Bob>これは2つ目の字幕です。
NOTE このコメントは視聴者には表示されません。
構文上の2つの違い:
- ファイルの1行目が
WEBVTTで始まっている必要があります。これがないとブラウザはファイルを拒否します。 - タイムスタンプでは、ミリ秒の前にカンマではなくピリオドを使用します。
VTTで追加された機能:
- キューの位置指定:
line、position、size、alignにより、画面内の任意の位置にテキストを配置できます(例:下部にテロップがある場合に上部に表示するなど)。 - CSSスタイリング: 主要なすべてのブラウザで、
::cue疑似要素を使用してWebページ側から字幕のスタイルを指定できます。 - 話者ラベル:
<v Alice>のように話者を指定でき、文字起こしデータから話者ラベルをそのまま保持できます。 - チャプターとNOTEブロック: 別のVTTトラックを使ってチャプターマーカーを設定でき、NOTE行でコメントを残せます。
VTTはHTML5の<track>要素のネイティブ形式であり、Apple HLSの標準テキストトラック形式であり、Video.js、Plyr、JW PlayerなどのWebプレーヤーのデフォルト形式でもあります。
SRT vs VTT:機能比較
| 機能 | SRT | VTT |
|---|---|---|
| ファイル拡張子 | .srt | .vtt |
| ヘッダー | なし | 1行目にWEBVTT |
| ミリ秒の区切り文字 | カンマ(,) | ピリオド(.) |
| 連番(シーケンス番号) | 必須 | 任意 |
| 位置指定 | 非対応 | 対応(line、position、size、align) |
| CSSスタイリング | 非対応 | 対応(::cue経由) |
| 太字、斜体、下線 | 対応(プレーヤーにより差異あり) | 対応(ブラウザ間で一貫) |
| 話者ラベル | 非対応 | 対応(<v 名前>) |
| コメント | 非対応 | 対応(NOTEブロック) |
HTML5 <track> | 非対応(JavaScriptが必要) | 対応(ネイティブ) |
| HLSストリーミング | 非対応 | 対応 |
| 手動編集 | 非常に容易 | 容易 |
プラットフォーム対応状況の一覧
YouTubeとVimeoの行は、2026年10月14日時点のヘルプページに基づいて確認しました。ストリーミング関連の行は、情報源に記載されているパートナー仕様書に基づいています。
| 送信先・環境 | SRT | VTT | TTML |
|---|---|---|---|
| YouTube | 対応 | 対応 | 対応(DFXP、SBV、SAMIなどにも対応) |
| Vimeo | 対応 | 対応(推奨) | 非対応 |
| Facebook、LinkedIn、X | 対応 | 非対応 | 非対応 |
自社サイトのHTML5 <video> | 非対応(JavaScriptが必要) | 対応 | 非対応 |
| HLSストリーミング | 非対応 | 対応 | 一部構成でIMSC1に対応 |
| VLC、MPV | 対応 | 対応 | 一部対応 |
| Premiere Pro、DaVinci Resolve | 対応 | 対応(Resolveでは再インポートが必要な場合あり) | 環境による |
| Plex | 対応(全クライアント) | Webおよび一部クライアント | 非対応 |
| Netflix | 非対応 | 非対応 | TTML1、日本語はIMSC 1.1 |
| Amazon Prime Video | 字幕に対応 | 非対応 | DFXP/TTML、iTT |
| Disney+ | 非対応 | 非対応 | IMSC 1.1 |
TTML:放送およびOTT向けフォーマット
TTML(Timed Text Markup Language)は、配信サービスや放送局が納品時に要求するXML形式です。 SRTやVTTよりもはるかに構造が複雑です。
<?xml version="1.0" encoding="UTF-8"?>
<tt xmlns="http://www.w3.org/ns/ttml"
xmlns:tts="http://www.w3.org/ns/ttml#styling">
<head>
<styling>
<style xml:id="default"
tts:fontFamily="sansSerif"
tts:color="white"
tts:fontSize="100%"/>
</styling>
</head>
<body>
<div>
<p begin="00:00:01.000" end="00:00:04.500"
style="default">This is the first caption.</p>
</div>
</body>
</tt>
この構造により、高度なスタイリング、1つのファイル内での複数言語トラックの保持、パーセント指定の位置調整、日本語のルビ表示、アクセシビリティ監査用のメタデータ付与が可能になります。実際には、TTMLを要求するプラットフォームごとに特定のプロファイルが指定されます。
- Netflix は、ほとんどの言語でTTML1(
.xmlまたは.ttml)を要求し、パーセント指定のみの位置情報と100%表記のフォントサイズを求めています。日本語にはNetflix独自のIMSC 1.1プロファイルが使用されます。 - Amazon Prime Video は字幕トラックとしてDFXP/TTML、iTT、SRTを受け付けているため、小規模な制作会社であればTTMLを回避できることがよくあります。
- Disney+ はIMSC 1.1を要求します。
- EBU-TT-D は欧州放送連合(EBU)によるIP配信およびDVB-DASH向けのプロファイルで、IMSC 1 Text Profileのサブセットです。
筆者の見解としては、納品先に特定の放送局やストリーミング配信業者が含まれていない限り、TTMLは不要です。それ以外の用途はSRTとVTTですべて対応できます。
SRT vs VTT vs TTML 比較一覧表
| 機能 | SRT | VTT | TTML |
|---|---|---|---|
| ファイル拡張子 | .srt | .vtt | .ttml、.xml、または .dfxp |
| ミリ秒の区切り文字 | カンマ | ピリオド | ピリオド |
| プレーヤー対応 | ほぼ全環境 | ブラウザおよびWebプレーヤー | 放送・OTT向けツール |
| スタイリング | なし | ::cueによるCSS | 属性ベースの高度な指定 |
| 話者ラベル | 回避策のみ | <v 名前>タグ | 複数の方式 |
| 位置指定 | 非対応 | パーセントによるキュー設定 | ピクセルまたはパーセント |
| 1ファイル内の言語数 | 1言語 | 1言語 | 複数言語 |
| 主な用途 | 可搬性 | HTML5 Web動画 | 放送およびストリーミング納品 |
SRT、VTT、TTML間の変換
SRTからVTTへの変換は、ほぼ劣化なしで行えます。
- 1行目に
WEBVTTを追加し、空行を1行入れます。 - ミリ秒の前のカンマをすべてピリオドに変更します(
00:00:01,000を00:00:01.000に)。 - 連番は残しても削除しても構いません。
VTTからSRTへの変換:
WEBVTTヘッダーを削除します。- ミリ秒の前のピリオドをすべてカンマに変更します。
- VTTファイルに連番がない場合は、キューに1、2、3...と番号を振ります。
- タイムスタンプ行からキュー設定を削除します(一部のSRTパーサーでエラーになるため)。
SRTへ変換すると、話者タグや位置指定の情報は失われます。無料の字幕コンバーターを使えば、ブラウザ上で双方向の変換が可能で、ASSやSSA形式にも対応しています。
SRTまたはVTTからTTMLへの変換ではテキストとタイミングを引き継げますが、仕様で要求されるプロファイル指定子、パーセント指定のフォントサイズ、フレームレートタイムコードモードなどを追加する必要があります。TTML変換後は必ずQC(品質確認)を実施してください。TTMLからSRTへの変換ではスタイル、配置、追加言語トラックが失われますが、YouTubeアップロード用などであれば問題ない場合が多いです。TTML変換後に字幕が1フレームずれる場合は、まずタイムコードモード(SMPTEかメディアタイムか)を確認してください。
文字起こしファイル形式 vs 字幕形式
SRTとVTTは時間情報を持つ字幕ファイルであり、プレーヤーが画面上に表示するための短い行と開始・終了時間で構成されています。一方、トランスクリプト(文字起こし)は通常ドキュメントとして読まれるため、異なる形式が使われます。
| フォーマット | 最適な用途 |
|---|---|
| TXT | メモ、検索、コピー&ペースト用のプレーンテキスト |
| DOCX | 編集、共有、研究用ソフトウェアへのインポート |
| 閲覧専用のコピーや保管記録 | |
| JSON | 開発者向け:単語、タイムスタンプ、話者ラベルをデータとして扱う用途 |
| SRT、VTT | 動画のキャプションや字幕 |
ConvertAudioToTextなら、同一の文字起こし結果からこれら6形式すべてにエクスポートできます。ログイン済みのアカウントであればTXT形式は無料で、DOCX、PDF、SRT、VTT、JSONは新規アカウントの最初のファイル、Weekly Pass、クレジットパック、または有料プランで利用可能です。
音声や動画から字幕を生成する
一度生成すれば、納品先に応じた形式で書き出し可能
既存の字幕ファイルがなく録音・録画データから作業を始める場合は、字幕ジェネレーターが音声を文字起こしし、タイミング調整済みのSRTまたはVTTを出力します。アカウント登録なしでも、ファイルの最初の30分間を無料で文字起こしできます。複数の場所に配信する場合はまずSRTを生成し、トランスクリプトエディタで誤りを修正したうえで、自社サイト用にVTTで書き出すか、放送局納品用にTTMLへ変換するのが効率的です。書き出し後のテキストやタイミングの微調整については、字幕エディターやSRTファイルの作り方を参照してください。
形式そのものが問題になることはほとんどありません。視聴者が気にするのは正確さ、読みやすい改行、そしてタイミングです。それさえ整っていれば、フォーマットの変換は数秒で完了します。
よくある質問(FAQ)
SRTとVTTの違いは何ですか?
SRTにはヘッダーがなく、ミリ秒の前にカンマを使用します(00:00:01,000)。VTTは必ず先頭行にWEBVTTが必要で、ピリオドを使用します(00:00:01.000)。また、VTTはキューの位置指定、::cueによるCSSスタイリング、話者のボイスタグ、NOTEコメントに対応しています。SRTはほぼすべてのプレーヤーやプラットフォームで動作し、VTTはHTML5動画やHLS配信のネイティブ形式です。
SRTとVTTはどちらが優れていますか?
一概にどちらが優れているとは言えません。SNSプラットフォームやデスクトッププレーヤーへのアップロードには、あらゆる環境で読み込めるSRTが適しています。自社Webサイト上の動画、HLSストリーム、および配置調整や話者ラベルが必要な字幕にはVTTが適しています。
VTTファイルとは何ですか?
.vttファイルはWebVTT字幕ファイルです。先頭行がWEBVTTで始まり、開始時間と終了時間、字幕テキストを含むキューが続くプレーンテキストファイルです。ブラウザはHTML5のtrack要素を通じてネイティブに読み込みます。一般的なテキストエディタで開いて編集できます。
YouTubeにVTTファイルをアップロードできますか?
はい。YouTubeは対応字幕形式としてSubRip(.srt)やTTMLなどと並び、WebVTT(.vtt)もサポートしているため、アップロード前に変換する必要はありません。
SRTをVTTに変換するにはどうすればよいですか?
最初の行にWEBVTTを追加し、ミリ秒の前のカンマをすべてピリオドに変更します(00:00:01,000が00:00:01.000になります)。VTTでは連番は省略可能です。SRTに戻すには、ヘッダーを削除し、ピリオドをカンマに変え、キューに番号を振り、キュー設定を削除します。
NetflixはTTMLまたはIMSCを要求しますか?
Netflixはほとんどの言語の字幕納品にTTML1(.xmlまたは.ttml)を要求し、日本語には独自のIMSC 1.1プロファイルを要求します。納品前に最新のNetflixパートナー向けドキュメントで正確なプロファイルを確認してください。
SRTからTTMLへの変換は自動でできますか?
タイムコードとテキストの変換は可能です。ただし汎用コンバーターでは、配信仕様で求められるプロファイル指定子、パーセント指定のサイズ、フレームレートタイムコードモードなどが適切に設定されないことが多いため、納品前に対象仕様に沿ったQCチェックを行ってください。
動画配信(ストリーミング)にはどの字幕形式を使うべきですか?
HLSストリーミングではWebVTTが標準のテキストトラック形式であり、HLSプレイリストではSRTはサポートされていません。自社サイト上でも、ブラウザがネイティブに読み込めるテキストトラック形式はVTTのみです。SNSプラットフォームへのアップロードにはSRTが最も安全な選択肢です。
出典・参考リンク
- YouTube ヘルプ:サポートされている字幕ファイル:.srt、.sbv、.sub、.mpsub、.lrc、.cap、.smi、.rt、.vtt、.ttml、.dfxp、2026年10月14日確認
- Vimeo ヘルプ:動画にキャプションまたは字幕を追加する:SRTおよびWebVTT対応、WebVTT推奨、2026年10月14日確認
- W3C: WebVTT, the Web Video Text Tracks Format
- MDN: Web Video Text Tracks Format
- MDN: ::cue
- Apple: HLS authoring specification for Apple devices
- Netflix Partner Help Center: Timed Text Style Guide, general requirements
- Netflix Partner Help Center: Netflix IMSC 1.1 Text Profile
- Amazon Prime Video Direct: caption requirements
- W3C: TTML Profiles for Internet Media Subtitles and Captions (IMSC 1.2)
- DVB: DVB-TTML subtitling systems
- SubRip, Wikipedia
- DaVinci Resolve VTT import discussion, Blackmagic Forum
Try transcription free
Convert any audio or video to clean, unwatermarked text — speaker labels, timestamps, and AI summaries included. First 30 minutes free, no account.
Related Articles

文字起こしの出力形式:TXT、SRT、VTT、JSON
文字起こしのあらゆる出力形式に関する実践リファレンス。SRT、VTT、TXT、DOCX、PDF、JSONそれぞれの中身と使いどころ、そしてトラブルのもとになる形式特有の癖まで解説します。

SRTファイルの作り方:字幕ファイル完全ガイド
SRTファイルについて知っておくべきことのすべて — フォーマット仕様、手動での作成方法、動画からの自動生成、そして字幕フォーマット間の変換方法を解説します。

文字起こしファイル形式を徹底解説:2026年版インプットガイド
MP3、WAV、M4A、FLAC、OGG、MP4、MOVなど。文字起こしツールが対応する音声・動画形式はどれか、どれを選ぶべきか、そして精度に実際に影響するのは何かを解説します。

動画字幕の翻訳:確実な進め方
既存の字幕を確実な方法で翻訳する:機械翻訳とレビューの組み合わせ、文字数増加への対応、タイミングの再調整。
文字起こしにタイムスタンプを追加する方法
音声テキスト化ツールで文字起こしにタイムスタンプを追加し、ナビゲーションや編集に便利なタイムスタンプ付きSRT・VTT字幕ファイルを書き出す方法を解説します。