WebVTT ⇔ SRT 変換ツール
WebVTT(.vtt)と SubRip(.srt)字幕ファイルをブラウザ内で相互変換。VTT のキュー設定、話者タグ、インラインスタイルを自動除去します。
WebVTT ↔ SRT 変換ツール
WebVTT (.vtt) と SubRip (.srt) を相互変換します。キュー設定・話者タグ・インラインスタイルを自動除去。ブラウザ完結・アップロード不要。
貼り付けまたはアップロードで変換
よくある問題
YouTubeから字幕を.vttでダウンロードしました。きれいな.srtに変換するには?
YouTubeが書き出すVTTには、タイムスタンプ入りの行内タグやカラークラス、話者タグが含まれており、多くのSRTエディタがこれを正しく処理できません。このツールの「VTT → SRT」モードに貼り付けると、`<c>`・`<v>`・行内タイムスタンプタグがすべて除去された素のSRTが得られます。`.srt`として保存し、Subtitle EditやAegisubに読み込んでください。
`<track src="...">` にSRTファイルを指定したのに字幕が表示されません。なぜですか?
HTML5の `<track>` 要素はWebVTT形式のみに対応しています。パスが正しくても、ブラウザは`.srt`ファイルを読み込みません。このツールでSRTをVTTに変換し、`.vtt`拡張子で保存してから`src`を更新してください。ページを再読み込みすれば字幕が表示されます。
形式は合っているはずなのに、VTTのタイムスタンプが無効だとエラーが出ます。
WebVTTはピリオドの小数点(00:00:01.000)を要求し、SRTはカンマ(00:00:01,000)を要求します。この2つを混在させるとパーサーが静かに壊れます。手作業で1箇所ずつ直すのではなく、このツールに通して小数点区切りを正規化してください。
VTTにNOTEコメントが入っています。SRT出力にも残りますか?
残りません。`NOTE`・`STYLE`・`REGION`ブロックはVTT→SRT変換時にすべて破棄されます。SRTにはこれらに相当する仕組みがないためです。編集用のNOTEコメントを後で参照したい場合は、元のVTTファイルを別途保管しておいてください。
WebVTT ⇔ SRT 変換ツール とは?
WebVTTとSRTは見た目こそ似ていますが、実際のパーサーは互換性を持ちません。WebVTTには `line:90%` のようなキュー設定、`<v Speaker>` や `<c.classname>` などのインラインタグ、`NOTE`/`STYLE`/`REGION` ブロック、そして先頭の `WEBVTT` ヘッダー(`Kind:`・`Language:` 行を含むこともある)があり、タイムスタンプの小数点はピリオドです。SRTにはこれらが一切なく、カンマ区切りの小数点を使う素のキューブロックのみを想定しています。
このツールはVTT→SRT方向で、`WEBVTT` ヘッダー行と `Kind:`/`Language:` 行を削除し、`NOTE`・`STYLE`・`REGION` ブロックをまるごとスキップし、`<v Speaker>`・`<c>`・`<i>`・`<b>`・`<u>` タグと `<00:00:01.000>` のような行内タイムスタンプタグを正規表現で除去し、小数点をピリオドからカンマに書き換えます。テキストが空になったキュー(スタイルタグのみの行など)は出力から除外されます。SRT→VTT方向では、行頭の数字だけの通し番号を読み飛ばし、カンマをピリオドに戻して `WEBVTT` ヘッダーを付け直します。
WebVTT ⇔ SRT 変換ツール の使い方
上部のトグルで「VTT → SRT」または「SRT → VTT」を選びます。左側のテキストエリアに字幕を貼り付けるか、「アップロード」から `.vtt`/`.srt`/`.txt` ファイルを選択してください。変換結果は右側に即座に表示され、「コピー」または「ダウンロード」で拡張子付きのファイルとして保存できます。「サンプルを読み込む」ボタンで、キュー設定・話者タグ・NOTEコメントを含む実例をすぐに試せます。
使用例
VTT 入力:
WEBVTT
Kind: captions
00:00:01.000 --> 00:00:03.500 line:90%
<v Speaker>Hello world</v>
NOTE この行はコメントです
00:00:04.000 --> 00:00:06.200
This is <i>italic</i> text
SRT 出力(WEBVTTヘッダー・Kind行・line設定・話者タグ・NOTE・<i>タグがすべて除去される):
1
00:00:01,000 --> 00:00:03,500
Hello world
2
00:00:04,000 --> 00:00:06,200
This is italic text活用例
1. YouTubeの自動字幕(VTT形式)をダウンロードし、デスクトップの字幕編集ソフトで扱えるSRTに変換する。
2. 翻訳者から納品されたSRTを、`<track src=…>` で埋め込むHTML5動画用にVTTへ変換する。
3. 翻訳メモリツールがキュー設定を解釈できない場合に、VTTのキュー設定だけを事前に取り除く。
4. 話者タグやスタイルタグを受け付けないプラットフォームへアップロードする前に、クリーンなSRTを用意する。
よくある質問
`line:90%` のようなVTTのキュー設定はどうなりますか?
SRTには位置指定の仕組みがないため、変換時に完全に削除されます。位置情報を残したい場合はASSワークフローを検討してください。ASSはキューごとの座標指定にネイティブ対応しています。
SRTの通し番号はVTTに変換したときに引き継がれますか?
いいえ。VTTのキューIDは任意項目であり、SRTの番号はそのまま持ち越されません。ほとんどのVTTレンダラーはIDを必要とせず、一部のHLSマルチプレクサはIDがあるとかえって混乱することがあります。安定したキューIDが必要な場合は変換後に手動で追加してください。
同じタイムスタンプを持つ複数のキューがあるVTTにも対応していますか?
対応しています。各キューブロックは独立して解析され、タイムスタンプが重複していても、それぞれ別のSRTエントリとして連番が振られます。