Skip to content

VTT를 SRT 자막으로 변환

웹 호환 WebVTT 자막을 널리 지원되는 SRT로 변환합니다.

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

또는 클릭하여 찾아보기

최대 50MB .vtt 파일 지원

핵심 엔진 아키텍처

웹 표준에서 범용 형식으로

VTT는 브라우저를 위해 설계된 반면, 많은 미디어 플레이어, 편집 도구, 스마트 TV 워크플로우는 여전히 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는 대사 텍스트만 추출하고 웹 전용 태그를 제거합니다.

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는 두 자리 시간을 사용하는 엄격한 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를 출력합니다
파일을 서버로 업로드하지 않고 클라이언트에서 처리합니다

변환하는 이유

많은 스마트 TV 워크플로우는 로컬 미디어 재생에 SRT를 선호합니다.
Plex, Jellyfin, Emby 미디어 서버는 외부 SRT 자막 파일을 흔히 인덱싱합니다.
여러 영상 편집 도구는 VTT보다 SRT 자막을 더 일관되게 가져옵니다.
HandBrake, FFmpeg, MKVToolNix는 동영상 컨테이너 자막 임베드에 SRT를 널리 허용합니다.
iOS와 Android 동영상 앱은 외부 자막 파일을 불러올 때 SRT를 기본으로 쓰는 경우가 많습니다.
SRT 파일은 헤더, 큐 설정, 메타데이터 블록이 없어 더 단순하고 작습니다.
일부 레거시 기기와 오래된 미디어 플레이어는 VTT 없이 SRT만 지원합니다.
Scenarios

일반적인 활용 사례

스마트 TV 재생

로컬 미디어 재생에 SRT를 선호하는 Samsung, LG, Sony 스마트 TV 환경에 맞추어 VTT 자막을 SRT로 변환합니다.

미디어 서버 라이브러리

Plex, Jellyfin, Emby 같은 미디어 서버용 외부 SRT 자막을 준비하고, 라이브러리에서 인식되는지 직접 확인합니다.

영상 편집 가져오기

Adobe Premiere Pro, DaVinci Resolve, Final Cut Pro 같은 NLE에서 자주 받아들이는 SRT 형식으로 자막을 가져옵니다.

모바일 동영상 재생

iOS와 Android 동영상 앱이 외부 자막으로 SRT를 많이 사용하므로, 모바일 재생용 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가 웹 표준이더라도 많은 스마트 TV, 미디어 서버, 편집 도구, 모바일 플레이어는 SRT를 더 일관되게 받아들입니다. VTT를 SRT로 바꾸면 타이밍과 텍스트만 남은 기본 버전을 준비하는 간단한 방법이 되지만, 항상 대상 플레이어나 워크플로우에서 결과를 확인하세요.

소수점 구분자가 마침표에서 쉼표로 바뀝니다. VTT는 00:01:30.500을 사용하고 SRT는 00:01:30,500을 사용합니다. 시, 분, 초, 밀리초 값은 같게 유지됩니다.

네. SRT는 각 항목이 순차 번호로 시작해야 합니다. 변환기는 VTT 식별자를 제거하고 파일에서 파싱된 순서대로 자막 항목에 1, 2, 3번을 다시 매깁니다.

WEBVTT 헤더는 제거됩니다. SRT에는 헤더 형식이 없으므로, 출력 파일은 첫 자막 항목의 번호 1로 시작합니다. 이는 SRT 형식에서 올바른 동작입니다.

line:50%, position:left, align:center 같은 VTT 큐 설정은 타임스탬프 화살표 뒤 같은 줄에 나옵니다. SRT는 이를 지원하지 않으므로 변환기가 제거하고 타임스탬프 쌍만 남깁니다. VTT의 위치 정보는 손실됩니다.

아니요. NOTE 블록은 메타데이터나 개발자 노트용 주석이며 표시되는 자막 콘텐츠가 아닙니다. 변환기는 NOTE 블록을 건너뜁니다.

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

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