Skip to content

VTT から SRT への字幕変換ツール

ウェブ向け WebVTT 字幕を、幅広くサポートされる SRT に変換します。

VTT ファイルをここにドラッグ&ドロップ

またはクリックして選択

50MB以下の.vttファイルに対応

コアエンジンアーキテクチャ

ウェブ標準から汎用標準へ

VTT はブラウザー向けに設計されていますが、多くのメディアプレーヤー、編集ツール、スマートテレビワークフローは今も SRT を好みます。この変換ツールは WEBVTT ヘッダーを削除し、ドット区切りタイムスタンプを SRT のカンマ形式へ変換し、連番エントリ番号を追加し、VTT キューセッティングを取り除きます。結果は、対象プレーヤーやワークフローでテストできるプレーンな SRT ファイルです。

ペイロード&構文インスペクター

VTT → SRT コード構文と構造の検証

ヘッダー定義、タイムスタンプ構文、キューペイロードのフォーマットを並べて比較し、コードレベルの対応関係を確認できます

ミリ秒同期
input.vtt
VTT 入力
WEBVTT
 
00:00:01.000 --> 00:00:04.000
Hello, world!
 
00:00:04.500 --> 00:00:08.000
This is a subtitle file.
 
00:00:08.500 --> 00:00:12.000
Converted locally!
output.srt
SRT 出力
1
00:00:01,000 --> 00:00:04,000
Hello, world!
 
2
00:00:04,500 --> 00:00:08,000
This is a subtitle file.
 
3
00:00:08,500 --> 00:00:12,000
Converted locally!
仕様シート

VTT vs SRT 技術仕様

規格準拠
入力形式

VTT

VTT

VTT(WebVTT)は HTML5 動画向けの W3C 標準字幕形式です。ファイルは WEBVTT ヘッダー文字列で始まります。キューはドット区切りタイムスタンプ(00:01:30.500 --> 00:01:35.000)を使用し、タイムスタンプの後ろに line、position、align などの位置設定が付く場合があります。NOTE コメントブロックや任意のキュー識別子が含まれる場合もあります。

出力形式

SRT

SRT

SRT(SubRip)は最も汎用的に互換性のある字幕形式です。各エントリは連番(1、2、3...)で始まり、カンマ区切りミリ秒のタイムスタンプ行(00:01:30,500 --> 00:01:35,000)、その後に字幕テキストが続きます。SRT にはヘッダー、メタデータセクション、スタイルや位置指定の仕組みはありません。

フォーマットの違い

VTT は WEBVTT ヘッダーで始まります。SRT にはヘッダーがなく、最初のエントリ番号から直接始まります。
VTT タイムスタンプはドット区切り(00:01:30.500)です。SRT タイムスタンプはカンマ区切り(00:01:30,500)です。
VTT キューには任意の文字列識別子があります。SRT エントリには必須の連番(1、2、3...)があります。
VTT はキューポジション設定(line、position、align、size)に対応します。SRT には位置やスタイルの仕組みがありません。
VTT はコメント用の NOTE ブロックに対応します。SRT にはコメントやメタデータの仕組みがありません。
VTT はブラウザーが認識するウェブ標準です。SRT はブラウザー外で幅広くサポートされるプレーンテキスト標準です。

変換のトラブルシューティングと注意点

プレイヤー互換性、文字エンコーディング、タイミング同期に関する実践的な解決策

4 個の注意点
GOTCHA #1

一部のプレーヤーで「<v Speaker>」や「<c.highlight>」などのタグが表示されるのはなぜですか?

WebVTTは話者タグ(`<v 話者名>`)やCSSクラス(`<c.クラス名>`)をネイティブにサポートします。VLCやMPVは無視または非表示にしますが、古いスマートTVやPremiere Proでは文字として表示されることがあります。AllSubConverterは対話テキストを抽出し、Web専用タグを除去します。

GOTCHA #2

YouTubeやZoomからダウンロードしたVTTに重複行や点滅する字幕がある

YouTubeとZoomの自動生成WebVTTは、ミリ秒単位で重なるロールアップキューを使います。SRTに直接変換すると画面が点滅します。字幕クリーナーで連続する同一行を削除し、スクロールウィンドウを統合してください。

GOTCHA #3

キュー番号がない、またはSRTの順序が無効

WebVTTではキュー番号は必須ではありませんが、厳格なSubRipプレーヤーは空行で区切られた連続整数(1、2、3...)を求めます。パーサーは1から連続番号を自動割り当てし、キュー間の空行を整えます。

GOTCHA #4

変換したSRTを動画編集ソフト(Premiere Pro、Final Cut、DaVinci Resolve)に読み込めない

動画編集ソフトはタイムスタンプ書式に厳格です。負のタイムスタンプや長さ0のキューが含まれていないことを確認してください。AllSubConverterは、時間が2桁の厳密なHH:MM:SS,mmm --> HH:MM:SS,mmm構文を出力します。

機能

SRT で使用されない WEBVTT ヘッダーと NOTE コメントブロックを削除します。
VTT のドット区切りタイムスタンプ(00:01:30.500)を SRT のカンマ区切り(00:01:30,500)に変換します。
SRT 形式に必要な連番エントリ番号(1、2、3...)を追加します。
タイムスタンプ行の後ろにある VTT キューセッティング(line、position、align、size)を削除します。
SRT に同等機能がない VTT キュー識別子を削除します。
<b>、<i>、<u>、<c> などの一般的な VTT インラインタグはキューテキスト内に残します。
対応プレーヤーとワークフロー向けに UTF-8 エンコードの SRT を出力します。
処理はすべてクライアント側で行われ、ファイルはどのサーバーにもアップロードされません。

変換する理由

多くのスマートテレビワークフローでは、ローカルメディア再生に SRT が使われます。
Plex、Jellyfin、Emby などのメディアサーバーでは、外部 SRT 字幕ファイルがよく利用されます。
一部の動画編集ツールは VTT より SRT のほうが安定して読み込みます。
HandBrake、FFmpeg、MKVToolNix では、動画コンテナーへの字幕埋め込みに VTT より SRT のほうが確実に受け入れられます。
iOS と Android のモバイル動画アプリは、外部字幕ファイルの読み込みに SRT を既定にしていることが少なくありません。
SRT にはヘッダー、キューセッティング、メタデータブロックがないため、よりシンプルで小さくなります。
古いデバイスや旧型メディアプレーヤーの中には、VTT ではなく SRT だけに対応するものがあります。
Scenarios

主なユースケース

スマートテレビ再生

Samsung、LG、Sony など、ローカルメディア再生に SRT を好むスマートテレビ向けに VTT 字幕を変換します。

メディアサーバーライブラリー

Plex、Jellyfin、Emby などのメディアサーバー用に外部 SRT 字幕を用意し、ライブラリーで認識されるか確認します。

動画編集への読み込み

Adobe Premiere Pro、DaVinci Resolve、Final Cut Pro に読み込む SRT に変換します。これらの NLE は SRT をネイティブに受け入れます。

モバイル動画再生

iOS と Android の多くの動画アプリは外部 SRT 字幕を既定で読み込みます。安定したモバイル字幕表示のために VTT を SRT に変換します。

字幕の埋め込み

FFmpeg、HandBrake、MKVToolNix を使って MKV や MP4 コンテナーへ字幕を埋め込みます。SRT はコンテナー埋め込みとの互換性が最も高い形式です。

Format Ecosystem

関連フォーマット

使い方

  1. 1

    .vtt ファイルを変換ツールへドラッグするか、参照して選択します。

  2. 2

    パーサーが WEBVTT ヘッダーを識別し、NOTE ブロックとメタデータをスキップします。

  3. 3

    各 VTT キューブロックの任意識別子、タイムスタンプ行、テキストを読み取ります。

  4. 4

    タイムスタンプのドット区切りをカンマに置き換えます(00:01:30.500 は 00:01:30,500 になります)。

  5. 5

    タイムスタンプ矢印の後ろにあるキューセッティング(line、position、align など)を削除します。

  6. 6

    入力順に各エントリへ連番を割り当てます。

  7. 7

    SRT 出力を組み立て、UTF-8 としてエンコードしてダウンロードできるようにします。

よくある質問

VTT はウェブ標準ですが、多くのスマートテレビ、メディアサーバー、編集ツール、モバイルプレーヤーは SRT のほうを安定して受け入れます。VTT から SRT への変換は、プレーンなタイム付きテキストを用意する簡単な方法です。ただし、対象プレーヤーやワークフローで必ず確認してください。

小数点区切りがドットからカンマに変わります。VTT は 00:01:30.500 を使い、SRT は 00:01:30,500 を使います。時、分、秒、ミリ秒の値は同じです。変換ツールは各タイムスタンプペアのドットをカンマに置き換えます。

はい。SRT では各エントリを連番で始める必要があります。VTT は任意の文字列識別子を使います。変換ツールは VTT 識別子を削除し、入力順に連番(1、2、3...)を割り当てます。

WEBVTT ヘッダーは削除されます。SRT にはヘッダー形式がありません。出力 SRT ファイルは最初の字幕エントリ番号 1 から直接始まります。これは SRT 形式として正しい動作です。

line:50%、position:left、align:center などの VTT キューセッティングは、タイムスタンプ矢印と同じ行の後ろに書かれます。SRT はこれらに対応しないため削除され、タイムスタンプペアだけが残ります。VTT の位置情報は失われます。

いいえ。NOTE ブロックはメタデータや開発者向けメモのコメントセクションであり、表示する字幕本文ではありません。変換ツールはすべての NOTE ブロックをスキップします。

字幕を変換する準備はできましたか?

VTT ファイルをここにドロップして SRT に即座に変換。