Skip to content

YouTube JSON3를 LRC 가사로 변환

timedtext JSON3 자막을 시간 태그가 있는 동기화 가사로 바꿔 보세요.

JSON 파일을 여기로 드래그 앤 드롭

또는 클릭하여 찾아보기

최대 50MB .json, .json3, .xml, .html 파일 지원

핵심 엔진 아키텍처

JSON에서 LRC로 변환 안내

YouTube timedtext API는 events 배열이 있는 JSON3 형식으로 자막을 제공합니다. 각 이벤트에는 밀리초 단위 시작 시간과 segs 텍스트 조각이 있을 수 있습니다. 이 도구는 JSON3 구조를 분석해 유효한 이벤트의 시작 시간과 텍스트를 추출하고, [MM:SS.xx] 태그가 있는 기본 LRC 가사 파일을 만듭니다. 결과는 events 배열에 나온 순서를 따릅니다.

페이로드 & 구문 검사기

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 출력은 시작 시간과 한 줄 텍스트만 담습니다
JSON3는 YouTube 전용 구조이고, LRC는 가사 동기화에 널리 쓰이는 형식입니다
JSON3는 YouTube 동영상 시스템용이고, LRC는 음악 재생기와 가사 표시용입니다
JSON3 파일은 JSON 구조 때문에 일반적으로 더 크고, LRC는 더 단순합니다

변환 문제 해결 및 주의 사항

플레이어 호환성, 문자 인코딩, 타이밍 동기화에 대한 실용적인 해결책

4 가지 주의 사항
GOTCHA #1

플레이어에서 자막 싱크가 어긋나거나 점차 느려지는 현상

비디오 프레임레이트 차이(23.976 fps와 25 fps 등)로 인해 발생할 수 있습니다. 당사의 자막 싱크 조절 도구를 통해 전체 오프셋을 손쉽게 보정할 수 있습니다.

GOTCHA #2

한글 자막이 깨져서 물음표나 특수문자로 표시되는 경우

EUC-KR이나 ANSI로 저장된 과거 파일은 깨질 수 있습니다. 본 사이트는 표준 UTF-8로 정규화하여 출력합니다.

GOTCHA #3

여러 인물이 동시에 말할 때 자막이 겹쳐 보이는 문제

포맷마다 다중 자막 처리 방식이 다릅니다. 온라인 자막 편집기에서 개별 라인의 타이밍을 미세 조정할 수 있습니다.

GOTCHA #4

영상 편집 프로그램(프리미어, 다빈치 리졸브)에서 가져오기 오류

전문 편집 소프트웨어의 엄격한 포맷 표준을 고려하여 프리미어, 다빈치 리졸브 등에서 안정적으로 열리는 표준 결과물을 생성합니다.

기능

YouTube JSON3 events 배열과 segs 텍스트 조각을 자동으로 분석합니다
tStartMs 밀리초 값을 [MM:SS.xx] 형식으로 변환하고 남은 밀리초는 내립니다
segs가 없거나 텍스트가 비어 있는 이벤트는 건너뜁니다
utf8 텍스트 조각을 한 줄로 합치고 앞뒤 공백을 정리합니다
시작 시간과 텍스트만 있는 기본 LRC 줄을 입력 순서대로 출력합니다
파일을 서버로 업로드하지 않고 브라우저에서 처리합니다
UTF-8 텍스트를 지원하며 CJK와 라틴 문자 외 문자도 유지합니다
무료로 사용할 수 있고 회원가입, 워터마크가 없으며 파일당 최대 50MB까지 지원합니다

변환하는 이유

yt-dlp로 내려받은 YouTube 자동 자막은 JSON3 형식일 수 있지만, 동기화 가사를 표시하려면 LRC가 필요한 음악 재생기가 많습니다.
JSON3는 YouTube 관련 도구가 다루는 전용 구조입니다. LRC는 가사 동기화에 널리 쓰이는 단순한 텍스트 형식입니다.
JSON3에는 dDurationMs 지속 시간이 있을 수 있지만, 이 변환 결과의 LRC 줄에는 시작 시간만 남습니다.
foobar2000, Poweramp, Musicolet 같은 재생기는 JSON3를 직접 읽지 못하는 경우가 많고 단순한 LRC 태그를 기대합니다.
YouTube 음악 영상에서 오디오를 추출했다면 JSON3 자막을 LRC로 바꿔 가사를 함께 정리할 수 있습니다.
오디오 재생 중 동기화 텍스트를 보여 주는 언어 학습 앱은 LRC를 기대하는 경우가 많습니다.
Discord 음악 봇이나 스트리밍 오버레이처럼 LRC를 사용하는 워크플로에 JSON3 자막을 재활용할 수 있습니다.
Scenarios

일반적인 활용 사례

YouTube 음악 가사 추출

YouTube 자동 자막을 JSON3로 내려받았다면 LRC로 변환해 음악 재생기에서 쓸 수 있는 동기화 가사로 정리하세요.

yt-dlp 자막을 가사로 재활용

yt-dlp로 내려받은 JSON3 자막을 LRC로 바꿔 오디오 재생 워크플로에서 동기화 가사로 다시 사용하세요.

언어 학습 자료 만들기

YouTube 교육 영상의 JSON3 자막을 LRC로 변환해 오디오 재생 중 동기화 텍스트를 보여 주는 학습 자료로 활용하세요.

Discord 봇 가사

LRC를 사용하는 Discord 음악 봇이나 스트리밍 오버레이에 쓸 수 있도록 YouTube JSON3 자막을 변환하세요.

모바일 음악 재생기

LRC 동기화 가사를 지원하는 모바일 재생기에서 쓸 수 있도록 YouTube에서 내려받은 JSON3 자막을 변환하세요.

Format Ecosystem

관련 포맷

사용 방법

  1. 1

    .json 또는 .json3 파일을 도구 영역에 올리거나 드래그합니다.

  2. 2

    파서가 JSON 구조를 읽고 events 배열을 순서대로 확인합니다.

  3. 3

    숫자형 tStartMs와 배열형 segs가 없는 이벤트는 건너뜁니다.

  4. 4

    segs의 utf8 값을 이어 붙이고 줄바꿈은 공백으로 바꾼 뒤 앞뒤 공백을 제거합니다.

  5. 5

    텍스트가 비어 있는 이벤트는 결과에 넣지 않습니다.

  6. 6

    시작 밀리초를 [MM:SS.xx] 태그로 변환하고 각 이벤트를 한 줄의 LRC 가사로 만듭니다.

자주 묻는 질문

JSON3는 YouTube timedtext API에서 제공하는 자막 형식입니다. events 배열이 있는 JSON 객체로 구성되며, 각 이벤트에는 tStartMs(시작 밀리초), dDurationMs(지속 밀리초), segs(텍스트 조각 배열)가 있을 수 있습니다. segs의 각 조각은 utf8 필드로 텍스트를 담습니다.

이 도구는 기본적인 [MM:SS.xx] 시작 태그만 사용하므로 일반적인 LRC 재생 기능에서 인식될 수 있습니다. 다만 실제 표시 여부와 파일 이름 규칙은 foobar2000(ESLyric), AIMP, Poweramp 같은 재생기와 플러그인 설정에 따라 다르므로 해당 도구 설명을 확인하세요.

tStartMs가 숫자가 아니거나 segs가 배열이 아니면 건너뜁니다. segs가 있어도 utf8 값을 이어 붙인 뒤 텍스트가 비어 있으면 결과에 포함하지 않습니다. aAppend 같은 텍스트 없는 마커는 LRC 출력에 영향을 주지 않습니다.

yt-dlp를 사용할 수 있습니다: yt-dlp --write-auto-sub --sub-format json3 <영상 URL>. 내려받은 .json3 파일을 이 도구에 바로 올려 변환하세요. 브라우저에서 timedtext API 응답을 저장한 경우에도 events 구조가 같으면 사용할 수 있습니다.

각 이벤트의 segs 배열에 있는 utf8 값을 순서대로 이어 붙입니다. 예를 들어 "Hello "와 "world" 두 조각은 "Hello world"가 됩니다. 줄바꿈은 공백으로 바뀌고 앞뒤 공백이 제거됩니다.

LRC는 음악 재생에 맞춰 가사를 표시하기 위해 시간 태그를 사용하는 텍스트 형식입니다. 일반적으로 각 줄이 [MM:SS.xx] 같은 시작 태그로 시작합니다. 이 도구는 확장 메타데이터 없이 기본 시간 태그와 텍스트만 생성합니다.

자막을 변환할 준비가 되셨나요?

JSON 파일을 여기에 놓고 LRC로 즉시 변환하세요.