Skip to content

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 コード構文と構造の検証

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

ミリ秒同期
input.json
JSON 入力
{
"events": [
{ "tStartMs": 1000, "dDurationMs": 3000,
"segs": [{ "utf8": "Hello, world!" }] },
{ "tStartMs": 4500, "dDurationMs": 3500,
"segs": [{ "utf8": "This is a subtitle file." }] }
]
}
output.lrc
LRC 出力
[00:01.00]Hello, world!
[00:04.50]This is a subtitle file.
[00:08.50]Converted locally!
仕様シート

JSON vs LRC 技術仕様

規格準拠
入力形式

JSON

JSON

JSON3 は YouTube が内部で使用する字幕形式で、timedtext API から提供されます。ファイルは JSON 構造で events 配列を含みます。各イベントには tStartMs(開始ミリ秒)、dDurationMs(継続ミリ秒)、segs(テキストフラグメントの配列、各フラグメントに utf8 フィールド)があります。youtube-dl、yt-dlp などのツールでダウンロードできます。

出力形式

LRC

LRC

LRC(.lrc)は音楽プレーヤーで行ごとにテキストを表示する同期歌詞形式です。各行は [MM:SS.xx] タイムタグで始まり、終了時間は保存しません — プレーヤーが自動的に次の行に進みます。

フォーマットの違い

JSON3 は tStartMs ミリ秒整数を使用、LRC は [MM:SS.xx] タイムタグを使用
JSON3 は構造化 JSON データ、LRC は時間付きプレフィックスのプレーンテキスト
JSON3 は継続時間とテキストフラグメント配列を保存、LRC は開始時間と1行テキストのみ
JSON3 は YouTube 専用、LRC は汎用歌詞標準
JSON3 は YouTube 動画システム向け、LRC は音楽プレーヤー向け
JSON3 ファイルは通常大きい(JSON オーバーヘッド)、LRC はよりコンパクトで効率的

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

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

4 個の注意点
GOTCHA #1

プレーヤーで字幕のタイミングがずれたり音ズレが発生する

動画のフレームレートの違い(23.976fpsと25fpsなど)が原因の場合があります。当サイトの「字幕同期ツール」で全体の遅延を一括調整できます。

GOTCHA #2

日本語の漢字や記号が文字化け(?)して表示される

Shift-JISなど古い文字コードで保存されたファイルは文字化けします。出力ファイルはUTF-8に標準化されます。元のファイルが破損している場合は文字コード変換ツールをご利用ください。

GOTCHA #3

複数人物が同時に話す際に字幕が重なって見づらい

フォーマットによって重複表示の仕様が異なります。当サイトの字幕エディターで各行の表示時間を微調整できます。

GOTCHA #4

動画編集ソフト(Premiere、DaVinci Resolve等)で読み込みエラーになる

当ツールの変換エンジンは、改行や構文の一般的な問題を整理したクリーンなファイルを出力します。主要な編集ソフトでの読み込みをテストしてください。

機能

YouTube JSON3 の events 配列と segs テキストフラグメントを自動解析
ミリ秒タイムスタンプを正確な LRC [MM:SS.xx] 形式に変換
foobar2000、AIMP、Poweramp、MiniLyrics と互換の出力
クライアント側処理 — ファイルはデバイスから離れません
UTF-8 エンコーディング対応、CJK・非ラテン文字に対応
完全ブラウザ処理 — アップロードなし、プライバシー完全保護
無料、登録不要、透かしなし、1ファイル最大50MB

変換する理由

yt-dlp でダウンロードした YouTube 自動字幕は JSON3 形式ですが、音楽プレーヤーは同期歌詞表示に LRC が必要です。
JSON3 は YouTube 専用形式で YouTube 関連ツールしか解析できません。LRC はほぼすべてのプレーヤーが対応する汎用歌詞標準です。
JSON3 には dDurationMs 継続時間データが含まれますが、LRC は開始時間のみ必要 — 変換後のファイルはよりシンプルです。
foobar2000、Poweramp、Musicolet などの音楽プレーヤーは JSON3 を読めず、同期歌詞表示に LRC が必要です。
YouTube 音楽動画から音声を抽出した後、JSON3 字幕を LRC に変換すればオーディオプレーヤーで同期歌詞が使えます。
音声再生時に同期歌詞を表示する語学学習アプリは LRC 形式を期待し、YouTube の JSON3 は対応していません。
Discord 音楽ボットやストリーミングオーバーレイは再生中の歌詞表示に LRC を使用し、JSON3 はサポートしていません。
Scenarios

主なユースケース

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 の音楽アプリで使用できます。

Format Ecosystem

関連フォーマット

使い方

  1. 1

    .json ファイルをアップロードまたはツールエリアにドラッグします。

  2. 2

    パーサーが JSON 構造を読み取り、events 配列を反復処理します。

  3. 3

    各イベントの tStartMs ミリ秒値が LRC の簡潔な [mm:ss.xx] タイムスタンプに変換されます。

  4. 4

    segs 配列の utf8 テキストフラグメントが1行の LRC 歌詞テキストに結合されます。

  5. 5

    segs のないタイミングのみのイベントは自動的にスキップされます。

  6. 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] タイムスタンプで始まります。

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

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