メインコンテンツへスキップ
SubtitleMatrix

VTT を SRT に変換

形式変換WebVTT(VTT)
字幕テキストを貼り付けることもできます

この変換で変わること

2 項目が失われるか、判断が必要です

  • スタイル

    すべてのスタイル(太字、斜体、色、縁取り、影)

  • 形式固有の内容

    元の形式が字幕ブロックの外に保持している内容(字幕以外のブロック、ヘッダーのテキスト、字幕ごとの設定、コメントアウトされたイベント)。変換先の形式に置き場所がありません

この一覧は、読み込んだファイルではなく、この2つの形式の機能対応表から作られています。形式としては許されているが対応表が扱っていない機能を使っている場合、そのファイルではさらに多くが失われることがあります。

このページは WebVTT を SRT に変換します。ファイルをドロップするかテキストを貼り付けると、SRT 版が返ります。変換はすべてブラウザ内で完結し、アップロードもアカウント登録も不要で、読み込み後はネットワークを切っても動きます。

2 つの形式は同じ字幕を持つため、テキスト、改行、タイミングはミリ秒まで引き継がれます。変わるのは構文です。00:00:01.000 形式の VTT のタイムスタンプはすべて 00:00:01,000 になります。SRT は WebVTT のドットの位置にカンマを書くためです。WEBVTT のヘッダー行は消えます。SRT にヘッダーがないためです。

引き継がれないのは、VTT が字幕の外に保存しているものすべてです。ヘッダー行はコメントを伴えますし、ファイルには NOTE、STYLE、REGION ブロックが入ることがあり、STYLE ブロックは文書全体のレイアウト規則を保持できます。タイムスタンプの後に align:start や position:10% といった設定が続くこともあります。SRT の構文に置き場所がないため、解釈し直さずに捨てられ、字幕の識別子は単純な連番になります。SRT の番号は数値でなければならないためです。上のレポートに置き場所のないものが並び、ファイルを読み込むとそのファイルに実際どれだけあったかが分かります。

崩れた入力も問題ありません。ヘッダーの欠落、Windows の改行、タイムスタンプの前の余分な行、BOM はどれもそのまま読め、出力は毎回同じ整った構造で書かれます。1 ファイルでも 1 シーズン分でも、キューが順に処理し、途中で止められ、結果は 1 つの ZIP にまとまります。

例

典型的な VTT ファイルを SRT に変換した例

入力

WEBVTT

intro
00:00:01.000 --> 00:00:04.000
Hello there.

00:00:04.500 --> 00:00:08.000 align:start position:10%
Second line with <i>italics</i>.

出力

1
00:00:01,000 --> 00:00:04,000
Hello there.

2
00:00:04,500 --> 00:00:08,000
Second line with <i>italics</i>.

この出力で失われるもの:スタイルと形式固有の内容。それ以外は行単位で一致します。

崩れた VTT 入力を SRT に変換した例

入力

a stray comment line
cue-id-1
00:00:01.000 --> 00:00:02.000
No header, two lines before the timecode.

出力

1
00:00:01,000 --> 00:00:02,000
No header, two lines before the timecode.

実ファイルの傷み方の例です。改行の混在、余分な空白、空のフィールドが含まれます。上の整った例と比べると、パーサーがどこまで許容するかが分かります。

よくある質問

VTT から SRT でタイミングは変わりますか?

変わりません。WebVTT の 00:00:01.250 と SRT の 00:00:01,250 は同じ瞬間を 2 通りに書いたもので、開始も終了もミリ秒まで引き継がれます。変わるのは秒とミリ秒の間の文字だけです。

VTT の WEBVTT ヘッダーと NOTE、STYLE、REGION ブロックは SRT でどうなりますか?

捨てられます。SRT にはヘッダー行もブロック構文もないため、置き場所がありません。影響が大きいのは STYLE で、通り過ぎるコメントではなく文書のレイアウト規則を保持することが多く、プレーヤーがそれに依存していたならスタイルを別の場所へ移す必要があります。

VTT の align:start や position:10% は SRT でどうなりますか?

これらも捨てられます。SRT は字幕を画面上のどこにも配置できません。出力で位置が重要なら、代わりに ASS へ変換してください。位置は \an7 や \pos といった上書きコードでテキストと一緒に運ばれます。

VTT の字幕の識別子は SRT に残りますか?

残りません。WebVTT は字幕の前に intro や sign-1 のような自由な識別子を置け、変換器はそれを読みますが、SRT の番号は慣習的に数値なので出力は 1、2、3 に振り直されます。厳格な SRT パーサーは数値でない番号のファイルを拒否するため、そのまま引き継ぐわけにはいきません。

機密の VTT ファイルを SRT に変換できますか?

ファイルは端末の外に出ません。解析と書き出しはブラウザ内で行われ、字幕をどこかへ運ぶリクエストもなく、読み込み後はネットワークを切っても動きます。

関連ツール