핵심 요약
SRT와 VTT는 같은 역할을 합니다. 즉, 일반 텍스트 파일에 시간 정보가 포함된 자막을 담는 형식입니다. 다만 이 둘은 서로 다른 환경에서 발전해 왔습니다. SRT는 가장 범용적인 전통 형식입니다. 구조가 가능한 한 단순하고, 거의 모든 플레이어, 편집기, 플랫폼에서 지원됩니다. WebVTT는 웹 환경에 최적화된 표준입니다. HTML5
<track>플레이어에서 필수이며, SRT에는 없는 스타일링, 위치 지정, 메타데이터 기능을 제공합니다. 실무적으로는 이렇게 생각하시면 됩니다. 공개 웹에 게시할 때는 VTT를 사용하고, 그 외 대부분의 작업에는 SRT를 사용하면 됩니다. 그리고 두 형식은 내부 구조가 거의 동일하므로, 플랫폼 요구에 따라 필요할 때마다 클릭 한 번으로 서로 변환할 수 있습니다.
자막 작업을 하다 보면 언젠가는 이런 상황을 맞게 됩니다. 플랫폼은 .vtt를 요구하는데 도구는 .srt로 내보내거나, 반대로 필요한 경우입니다. 다행히 잘못 선택해도 손해는 변환 한 번이면 끝입니다. 여기서는 두 형식의 실제 차이점, 각각이 필요한 상황, 그리고 변환 과정에서 자주 문제가 되는 예외 사항까지 정리해 드리겠습니다.
두 형식을 나란히 비교해 보기
같은 자막 두 줄을 먼저 SRT 형식으로 보면 다음과 같습니다.
1
00:00:03,500 --> 00:00:06,000
Hello and welcome.
2
00:00:06,200 --> 00:00:09,100
Let's compare subtitle formats.…그리고 WebVTT 형식은 다음과 같습니다.
WEBVTT
00:00:03.500 --> 00:00:06.000
Hello and welcome.
00:00:06.200 --> 00:00:09.100
Let's compare subtitle formats.눈에 보이는 차이는 세 가지입니다. VTT는 필수 WEBVTT 헤더로 시작하고, SRT가 밀리초 앞에 쉼표를 쓰는 반면 VTT는 마침표를 사용하며, 순번 번호도 필수가 아닙니다. 자막 파일을 제대로 변환하지 않고 손으로 이름만 바꿨을 때 발생하는 “자막이 로드되지 않습니다” 문제의 대부분은 바로 이 세 가지 때문입니다.
기능 비교
| SRT (SubRip) | WebVTT | |
|---|---|---|
| 최초 출시 | ~2000 (SubRip ripper) | 2010 (W3C 웹 표준) |
| 타임코드 구분자 | 쉼표 (00:00:01,600) | 마침표 (00:00:01.600) |
| 헤더 | 없음 | WEBVTT 필수 |
| 스타일링 | 기본 태그만 가능 (<i>, <b>), 지원이 일관되지 않음 | CSS 유사 자막 스타일링, 색상, 클래스 지원 |
| 위치 지정 | 아니요 | 예 — 위치, 정렬, 세로 텍스트 지원 |
| 챕터 및 메타데이터 | 아니요 | 예 (챕터, 노트, JSON 메타데이터 큐) |
HTML5 <track> 지원 | 아니요 — 브라우저는 VTT를 요구함 | 예 — 지원되는 유일한 형식 |
| 데스크톱 플레이어 (VLC 등) | 범용 지원 | 넓게 지원됨 |
| 편집 소프트웨어 가져오기 | 범용 지원 | 일반적이지만 SRT만큼 범용적이지는 않음 |
SRT가 필요한 경우
- 최대한의 호환성: 클라이언트, 편집자, 또는 어떤 플레이어를 쓸지 모르는 상대에게 자막을 보낼 때 SRT는 거의 어디서나 열립니다.
- 영상 편집: Premiere Pro, DaVinci Resolve, Final Cut은 SRT 자막 트랙을 가장 안정적으로 가져옵니다.
- YouTube, LinkedIn, Instagram 업로드: 모두 자막용으로 SRT를 지원합니다.
- 번역 워크플로: 구조가 매우 단순해서 번역 도구를 여러 번 거쳐도 깨질 가능성이 적습니다.
이 형식이 처음이신가요? 자세한 설명은 여기에서 확인하실 수 있습니다. SRT 파일이란 무엇인가요?
VTT가 필요한 경우
- 자체 사이트의 HTML5 비디오:
<track>요소는 WebVTT만 받기 때문에 SRT는 브라우저에서 로드되지 않습니다. - 스타일이 적용되거나 위치가 지정된 자막: 화자별 색상, 화면 하단 그래픽이 있을 때 프레임 상단에 표시하는 자막, CJK 언어용 세로 텍스트 등에 적합합니다.
- 챕터 탐색: VTT 파일은 HTML5 플레이어가 기본적으로 표시할 수 있는 챕터 마커를 정의할 수 있습니다.
- 현대적인 스트리밍 스택: HLS와 많은 웹 플레이어는 VTT 세그먼트를 기대합니다.
SRT와 VTT 변환하기(문제 없이 안전하게)
두 형식의 구조가 매우 비슷하기 때문에 변환 자체는 기계적으로 처리할 수 있습니다. 하지만 파일 확장자만 바꾸는 것은 변환이 아닙니다. 올바른 변환기는 WEBVTT 헤더를 추가하거나 제거하고, 모든 타임코드에서 쉼표와 마침표를 서로 바꾸며, 순번 번호도 적절히 처리해야 합니다. 무료 VTT ↔ SRT Converter는 이 모든 작업을 브라우저에서 처리합니다. 붙여넣거나 업로드하고, 변환한 뒤, 다운로드하면 됩니다. 파일은 서버를 거치지 않습니다.
변환할 때 알아두면 좋은 세 가지 주의사항이 있습니다.
- VTT → SRT로 변환할 때 스타일 정보는 사라집니다. 위치 지정, 색상, 클래스는 SRT에 대응되는 기능이 없으므로 텍스트와 타이밍은 유지되지만 표현 방식은 유지되지 않습니다.
- 인코딩이 중요합니다. 두 형식 모두 UTF-8을 사용하는 것이 좋으며, 오래된 인코딩은 악센트 문자나 비라틴 문자를 깨뜨릴 수 있습니다.
- 변환 후에는 꼭 검증하세요. 플랫폼이 여전히 파일을 거부한다면 SRT Validator로 겹치는 큐나 잘못된 타임코드를 찾아보시고, 전체 시간 오프셋은 Subtitle Time Shift로 보정하시면 됩니다.
그렇다면 이 파일들은 처음에 어디서 만들어질까요?
어느 형식이든 시작은 대본입니다. YouTube 콘텐츠의 경우 YouTube Transcript Generator를 사용하면 어떤 영상 링크에서든 시간 정보가 포함된 텍스트를 만들고 SRT로 내보낼 수 있습니다. 직접 녹음한 회의, 강의, 인터뷰라면 Soz AI app이 99개 이상의 언어에서 화자 라벨과 함께 오디오를 전사해 주며, 일반 텍스트는 언제든 TXT to SRT Generator로 자막으로 변환할 수 있습니다.
자주 묻는 질문
.srt를 그냥 .vtt로 이름만 바꿔도 되나요?
아니요. 타임코드 구분자가 다르고(쉼표 vs 마침표), VTT에는 WEBVTT 헤더가 필수이기 때문에 이름만 바꾼 파일은 브라우저에서 동작하지 않습니다. 실제 변환기를 사용하세요. 몇 초면 끝납니다.
YouTube는 어떤 형식을 사용하나요?
YouTube는 SRT와 VTT 업로드를 모두 지원하며(자체 형식도 지원), 내부적으로는 모두 변환해서 처리합니다. 따라서 가지고 계신 형식을 그대로 업로드하시면 됩니다.
VTT가 SRT를 대체하고 있나요?
웹에서는 VTT가 표준이며 앞으로도 계속 유지될 것입니다. 하지만 그 외 환경, 즉 편집 툴, 데스크톱 플레이어, 번역 파이프라인에서는 SRT가 여전히 공용어 역할을 합니다. 두 형식 모두 앞으로도 오랫동안 사라지지 않을 것이기 때문에, 제대로 된 워크플로라면 변환기를 항상 준비해 두는 것이 좋습니다.
자막이 SEO에 영향을 주나요?
네. 플랫폼과 검색 엔진은 자막 텍스트를 색인하기 때문에, 영상 속에서 말한 내용으로도 검색될 수 있습니다. 또한 영상과 함께 페이지에 대본을 게시하면 그 효과가 더 커집니다.
