본문으로 바로 가기
SubtitleMatrix

VTT 자막 형식 안내

형식 변환WebVTT (VTT)

이 형식이 표현할 수 있는 것

텍스트 스타일
굵게와 기울임
화면 위치 지정
아니요
가라오케 타이밍
아니요
자막 블록 안의 줄 바꿈
예
시간축
모든 자막 블록의 시작과 종료 시간
타이밍 해상도
1 ms
시간을 프레임 번호로 저장
아니요
오른쪽에서 왼쪽으로 쓰는 텍스트
예

예시

전형적인 WebVTT 파일과, 이 사이트가 읽어 낸 내용

파일

WEBVTT

intro
00:00:01.000 --> 00:00:04.000
Hello there.

00:00:04.500 --> 00:00:08.000 align:start position:10%
Second line with <i>italics</i>.

담긴 내용

2 cues, 2 lines of text

  00:00:01.000 → 00:00:04.000
    Hello there.
  00:00:04.500 → 00:00:08.000
    Second line with italics.   [italic ×1]
    [settings align:start position:10%]

Outside the cues:
  header     "WEBVTT"

오른쪽은 변환 결과가 아니라 왼쪽 파일에서 이 사이트가 읽어 낸 것이며, 그 파일을 어떤 형식으로 바꾸든 출발점이 되는 내용입니다.

지저분한 WebVTT 파일과, 그래도 읽어 낸 내용

파일

WEBVTT - boundary sample

NOTE a comment
spanning two lines

STYLE
::cue { color: red }

REGION
id:fred
width:40%

00:01.000 --> 00:03.000
Hours-less timecode with <b>bold</b> and <v Roger>a voice tag.

00:05.000 --> 00:04.000
End before start.

NOTE between cues

00:07.000 --> 00:09.000
&nbsp; entities stay literal.

00:10.000 --> oops
Unreadable end time.

NOTE trailing

담긴 내용

3 cues, 3 lines of text

  00:00:01.000 → 00:00:03.000
    Hours-less timecode with bold and <v Roger>a voice tag.   [bold ×1]
  00:00:05.000 → 00:00:05.001
    End before start.
  00:00:07.000 → 00:00:09.000
    &nbsp; entities stay literal.

Outside the cues:
  header     "WEBVTT - boundary sample"
  blocks     NOTE ×3, STYLE, REGION

Reported while reading — repaired or skipped, never silently:
  1 × blocks that were neither a cue nor a NOTE/STYLE/REGION block (they were skipped)
  1 × cues whose end time was not after their start time (they were given a 1ms duration)

실제 파일에는 BOM, 윈도 줄 바꿈, 시간 코드 앞의 엉뚱한 줄, 읽을 수 없는 시간 코드가 섞여 옵니다. 어느 것도 예외를 던지지 않고, 이해할 수 없는 부분은 조용히 버리지 않고 보고합니다.

WebVTT (VTT) → 다른 형식으로 변환

각 페이지는 전부 브라우저 안에서 실행됩니다. 라벨은 그 방향에서 무엇을 잃는지 미리 알려 줍니다.

이 형식으로 변환하기

WebVTT(VTT)는 웹 표준 자막 형식입니다. 이 페이지는 VTT가 무엇을 저장하고 무엇을 저장하지 못하는지 정리한 기준 문서이자, VTT를 다른 형식으로 바꾸는 페이지들의 입구입니다.

위 표가 전부입니다. '아니요'인 행은 다른 형식에서 VTT로 들어올 때 실제로 사라지는 항목이고, 아래에 링크된 각 변환 페이지가 파일을 열기 전에 그 목록을 먼저 보여 줍니다.

VTT는 WEBVTT 헤더로 시작하고, 시간은 00:00:01.000처럼 밀리초까지 점으로 적습니다. 큐 앞에는 자유 형식 식별자를 둘 수 있고, NOTE·STYLE·REGION 블록과 align:start·position:10% 같은 큐 설정도 담깁니다. 본문 안에서는 <b>·<i>·<u>·<font color> 같은 인라인 태그를 씁니다.

모든 변환은 브라우저 안에서 실행됩니다. 업로드도 가입도 없고, NDA 자료나 환자 기록, 방송 금지 해제 전 자료를 다룰 때 이 점이 중요합니다.

VTT의 큐 설정과 STYLE 블록은 재생 환경에 따라 무시될 수 있으므로, 중요한 배치는 화면에서 직접 확인하세요.

자주 묻는 질문

VTT 파일은 어떤 형식인가요?

.vtt는 웹의 자막 형식입니다. HTML5 <track> 요소가 바로 불러오므로 브라우저·스트리밍 플레이어·최신 플랫폼이 기대하는 형식입니다. SRT가 담는 것에 더해 헤더, 선택적 주석, 큐별 설정을 담습니다.

VTT는 스타일을 저장하나요?

조금, 그리고 텍스트 곁이 아니라 텍스트 안에 저장합니다. 굵게·기울임·색은 큐의 일부이고(<b>, <i>, <u>, <font color>), 글꼴 크기·외곽선·여백을 선언하는 자리는 없어 그것은 페이지나 플레이어가 정합니다. 큐 위에 STYLE 블록으로 CSS 규칙을 담을 수도 있습니다.

VTT의 모든 큐에 시작과 끝이 다 있나요?

네. VTT에서 한 시점은 00:00:04.126처럼 적고, 밀리초까지가 한계입니다. 값은 정확하며, 큐가 짧거나 길거나 다음 큐와 겹쳐도 형식이 따로 제한하지 않습니다.

VTT는 어떤 형식으로 바꾸는 게 좋나요?

이 사이트에서 VTT의 모든 것을 받아 주는 형식은 없어서 공짜 방향이 없습니다. 각 변환 페이지가 자기 손실 목록을 밝히므로, 가장 자주 본 형식이 아니라 그 손실을 감당할 수 있는지를 기준으로 고르세요.

VTT 파일이 큐 밖에 담는 것은 무엇인가요?

헤더 줄, 선택적인 NOTE 주석, STYLE 블록, REGION 정의, 그리고 align·position·line 같은 큐별 설정입니다. 웹 자막이 쓰는 이런 요소가 없는 형식으로 바꾸면 사라지며, 해당 페이지가 그 사실을 밝힙니다.