YouTube JSON3 を VTT 字幕へ変換
YouTube timedtext JSON3 のイベントを、必須WEBVTTヘッダーと HH:MM:SS.mmm タイミング付きWebVTTに変換します。
JSON ファイルをここにドラッグ&ドロップ
またはクリックして選択
50MB以下の.json, .json3, .xml, .htmlファイルに対応
JSON から VTT への変換について
HTML5のtrack要素や多くのWeb動画プラットフォームはJSON3を受け付けません。このツールはJSON3のevents配列を解析し、segsテキストフラグメントを結合、キュー時間を計算し、必須WEBVTTヘッダー付きの有効なWebVTTを出力します。HTML5動画、YouTube Studio、Vimeo、JavaScriptプレーヤーでそのまま利用できます。
JSON → VTT コード構文と構造の検証
ヘッダー定義、タイムスタンプ構文、キューペイロードのフォーマットを並べて比較し、コードレベルの対応関係を確認できます
JSON vs VTT 技術仕様
JSON
JSON3 は YouTube が内部で使用する字幕形式で、timedtext API から提供されます。ファイルは JSON 構造で events 配列を含みます。各イベントには tStartMs(開始ミリ秒)、dDurationMs(継続ミリ秒)、segs(テキストフラグメントの配列、各フラグメントに utf8 フィールド)があります。youtube-dl、yt-dlp などのツールでダウンロードできます。
VTT
VTT(WebVTT)は、Web動画向けのW3C標準字幕形式で、HTML5のtrack要素で使用され、YouTube、Vimeo、Video.jsやJW PlayerなどのJavaScriptプレーヤーで受け付けられます。ファイルは先頭行にWEBVTTという文字列を置き、その後にキューブロックを続けます。各キューはHH:MM:SS.mmm --> HH:MM:SS.mmmのタイムスタンプを使用します。キュー設定、インラインスタイルタグ、NOTEコメント、CSSブロックにも対応します。
フォーマットの違い
変換のトラブルシューティングと注意点
プレイヤー互換性、文字エンコーディング、タイミング同期に関する実践的な解決策
プレーヤーで字幕のタイミングがずれたり音ズレが発生する
動画のフレームレートの違い(23.976fpsと25fpsなど)が原因の場合があります。当サイトの「字幕同期ツール」で全体の遅延を一括調整できます。
日本語の漢字や記号が文字化け(?)して表示される
Shift-JISなど古い文字コードで保存されたファイルは文字化けします。出力ファイルはUTF-8に標準化されます。元のファイルが破損している場合は文字コード変換ツールをご利用ください。
複数人物が同時に話す際に字幕が重なって見づらい
フォーマットによって重複表示の仕様が異なります。当サイトの字幕エディターで各行の表示時間を微調整できます。
動画編集ソフト(Premiere、DaVinci Resolve等)で読み込みエラーになる
当ツールの変換エンジンは、改行や構文の一般的な問題を整理したクリーンなファイルを出力します。主要な編集ソフトでの読み込みをテストしてください。
機能
変換する理由
主なユースケース
Webビデオの字幕表示
HTML5の<video>要素で再生するWebビデオに対して、JSON3字幕をVTTに変換して表示させます。
YouTube字幕アップロード
YouTubeにアップロードする字幕をVTT形式で準備し、最適な同期と表示を確保します。
Vimeoのキャプション
Vimeo動画にクローズドキャプションを追加する際は、字幕設定画面からVTTファイルをアップロードします。
eラーニングプラットフォーム
Coursera、Canvas、自社LMSなど、VTTをWeb用キャプション形式として受け付ける講義動画に字幕を追加します。
JavaScript動画プレーヤー
Video.js、Plyr、JW Playerなど、字幕ソースとしてVTTを読み込むWebプレーヤーでキャプションを表示します。
関連フォーマット
JSON (YouTube JSON3)
JSON3 は YouTube が内部で使用する字幕形式で、timedtext API から提供されます。ファイルは JSON 構造で events 配列を含みます。各イベントには tStartMs(開始ミリ秒)、dDurationMs(継続ミリ秒)、segs(テキストフラグメントの配列、各フラグメントに utf8 フィールド)があります。youtube-dl、yt-dlp などのツールでダウンロードできます。
SRT
SubRip - スマートTVやデスクトッププレーヤーでも動作する汎用形式。対象がWebブラウザでない場合は、VTTの代わりにSRTを選んでください。
ASS
Advanced SubStation Alpha - フォント、色、位置指定に対応するスタイル付き形式。Web互換性よりも見た目のスタイルを優先する場合はASSを選んでください。
使い方
- 1
.json ファイルをアップロードまたはツールエリアにドラッグします。
- 2
パーサーが JSON 構造を読み取り、events 配列を反復処理します。
- 3
各時間ペアはVTT表記に整形され、時間が0埋めされ、矢印とミリ秒のピリオドが追加されます。
- 4
segs のないタイミングのみのイベントは自動的にスキップされます。
- 5
生成された .vtt はWEBVTTで始まり、Webプレーヤーで利用できる有効な矢印付きキューを含みます。
その他の字幕ツール
よくある質問
JSON3 は YouTube が内部で使用する字幕形式です。timedtext API から events 配列を含む JSON オブジェクトとして提供されます。各イベントには tStartMs(開始ミリ秒)、dDurationMs(継続ミリ秒)、segs(テキストフラグメント配列、各フラグメントに utf8 フィールド)があります。
各イベントのutf8フラグメントは元の順序で結合されます。例えば "Hello " と "world" は完全な字幕行 "Hello world" になります。
はい。必須のWEBVTTヘッダーと有効なキュータイミングが含まれるため、YouTube Studio、Vimeo、HTML5 track要素、Video.js、Plyr、JW Playerで動作します。
yt-dlp を使用:yt-dlp --write-auto-sub --sub-format json3 <動画URL>。ダウンロードした .json3 ファイルをこのツールに直接インポートして変換できます。
YouTube JSON3 の一部のイベントにはテキストフラグメントなしのタイミング情報のみが含まれます(aAppend マーカーなど)。これらのイベントは変換時に自動的にスキップされ、VTT 出力に影響しません。
VTT(WebVTT)は、Web動画向けのW3C標準字幕形式で、HTML5のtrack要素で使用され、YouTube、Vimeo、Video.jsやJW PlayerなどのJavaScriptプレーヤーで受け付けられます。ファイルは先頭行にWEBVTTという文字列を置き、その後にキューブロックを続けます。各キューはHH:MM:SS.mmm --> HH:MM:SS.mmmのタイムスタンプを使用します。キュー設定、インラインスタイルタグ、NOTEコメント、CSSブロックにも対応します。