YouTube JSON3 を LRC 歌詞へ
YouTube の JSON3 形式字幕ファイルを LRC 歌詞に変換し、音楽プレーヤーでリアルタイムにスクロール表示できます。
JSON ファイルをここにドラッグ&ドロップ
またはクリックして選択
50MB以下の.json, .json3, .xml, .htmlファイルに対応
JSON から LRC への変換について
YouTube の timedtext API で提供される JSON3 形式字幕は、events 配列を含み、各イベントにミリ秒単位の開始時間とテキストフラグメントがあります。このツールは JSON3 構造を解析し、各イベントの開始タイムスタンプとテキストを抽出して、標準的な [MM:SS.xx] 形式の LRC 歌詞ファイルを出力します。foobar2000、AIMP、Poweramp などの音楽プレーヤーで使用できます。
JSON → LRC コード構文と構造の検証
ヘッダー定義、タイムスタンプ構文、キューペイロードのフォーマットを並べて比較し、コードレベルの対応関係を確認できます
JSON vs LRC 技術仕様
JSON
JSON3 は YouTube が内部で使用する字幕形式で、timedtext API から提供されます。ファイルは JSON 構造で events 配列を含みます。各イベントには tStartMs(開始ミリ秒)、dDurationMs(継続ミリ秒)、segs(テキストフラグメントの配列、各フラグメントに utf8 フィールド)があります。youtube-dl、yt-dlp などのツールでダウンロードできます。
LRC
LRC(.lrc)は音楽プレーヤーで行ごとにテキストを表示する同期歌詞形式です。各行は [MM:SS.xx] タイムタグで始まり、終了時間は保存しません — プレーヤーが自動的に次の行に進みます。
フォーマットの違い
変換のトラブルシューティングと注意点
プレイヤー互換性、文字エンコーディング、タイミング同期に関する実践的な解決策
プレーヤーで字幕のタイミングがずれたり音ズレが発生する
動画のフレームレートの違い(23.976fpsと25fpsなど)が原因の場合があります。当サイトの「字幕同期ツール」で全体の遅延を一括調整できます。
日本語の漢字や記号が文字化け(?)して表示される
Shift-JISなど古い文字コードで保存されたファイルは文字化けします。出力ファイルはUTF-8に標準化されます。元のファイルが破損している場合は文字コード変換ツールをご利用ください。
複数人物が同時に話す際に字幕が重なって見づらい
フォーマットによって重複表示の仕様が異なります。当サイトの字幕エディターで各行の表示時間を微調整できます。
動画編集ソフト(Premiere、DaVinci Resolve等)で読み込みエラーになる
当ツールの変換エンジンは、改行や構文の一般的な問題を整理したクリーンなファイルを出力します。主要な編集ソフトでの読み込みをテストしてください。
機能
変換する理由
主なユースケース
YouTube 音楽歌詞の抽出
YouTube 自動字幕は JSON3 でダウンロードされますが、音楽プレーヤーには LRC が必要です。JSON3 を LRC に変換して、YouTube 字幕を foobar2000、AIMP、Poweramp の同期歌詞として使用できます。
yt-dlp 字幕から歌詞へ
yt-dlp でダウンロードした YouTube 字幕は通常 JSON3 形式です。JSON3 を LRC に変換すれば、任意のオーディオプレーヤーで同期歌詞として再利用できます。
語学学習教材の作成
YouTube 教育動画の JSON3 字幕を LRC に変換すれば、音声再生時に同期テキストを表示する語学学習アプリで使用できます。
Discord ボットの歌詞
Discord 音楽ボットは再生中の同期歌詞表示に LRC 形式を使用します。YouTube の JSON3 字幕を LRC に変換してボットに統合できます。
モバイル音楽プレーヤー
ほとんどのモバイル音楽プレーヤーは LRC 同期歌詞に対応しています。YouTube からダウンロードした JSON3 字幕を LRC に変換して、iOS と Android の音楽アプリで使用できます。
関連フォーマット
LRC(歌詞)
出力形式 — [MM:SS.xx] タイムスタンプタグを含む同期歌詞形式。foobar2000、AIMP、Poweramp、MiniLyrics などの音楽プレーヤーで使用されます。
JSON (YouTube JSON3)
入力形式 — YouTube の timedtext API 字幕形式。events 配列と segs テキストフラグメントを含みます。JSON3 を LRC に変換して YouTube 字幕を歌詞として再利用できます。
SRT (SubRip)
汎用字幕形式。音楽プレーヤーの歌詞ではなく動画プレーヤーの字幕が必要な場合は、ワークスペースで JSON3 を SRT に変換してください。
使い方
- 1
.json ファイルをアップロードまたはツールエリアにドラッグします。
- 2
パーサーが JSON 構造を読み取り、events 配列を反復処理します。
- 3
各イベントの tStartMs ミリ秒値が LRC の簡潔な [mm:ss.xx] タイムスタンプに変換されます。
- 4
segs 配列の utf8 テキストフラグメントが1行の LRC 歌詞テキストに結合されます。
- 5
segs のないタイミングのみのイベントは自動的にスキップされます。
- 6
生成された .lrc ファイルは各タイムスタンプと歌詞テキスト行をペアにします。
その他の字幕ツール
よくある質問
JSON3 は YouTube が内部で使用する字幕形式です。timedtext API から events 配列を含む JSON オブジェクトとして提供されます。各イベントには tStartMs(開始ミリ秒)、dDurationMs(継続ミリ秒)、segs(テキストフラグメント配列、各フラグメントに utf8 フィールド)があります。
はい。生成された LRC は標準仕様に対応しています。foobar2000(ESLyric)、AIMP、Poweramp などのプレーヤーで、歌詞ファイル名を音声ファイルと同じにすればスクロール表示できます。
YouTube JSON3 の一部のイベントにはテキストフラグメントなしのタイミング情報のみが含まれます(aAppend マーカーなど)。これらのイベントは変換時に自動的にスキップされ、LRC 出力に影響しません。
yt-dlp を使用:yt-dlp --write-auto-sub --sub-format json3 <動画URL>。ダウンロードした .json3 ファイルをこのツールに直接インポートして変換できます。
各イベントの segs 配列内の複数の utf8 テキストフラグメントは、自動的に1行の LRC 歌詞テキストに結合されます。例えば "Hello " と "world" の2つのフラグメントは "Hello world" にマージされます。
LRC は音楽の再生に合わせてテキストを同期表示するためにタイムタグを使用する歌詞ファイル形式です。各行は [MM:SS.xx] タイムスタンプで始まります。