SSubToolDesk
ko
VTT → SRT

WebVTT를 SubRip(.srt)으로 변환하기

Zoom, Teams, 또는 Whisper가 생성한 .vtt 파일을 어디서나 통용되는 .srt 자막 트랙으로 바꿔보세요. 타이밍은 밀리초 단위까지 보존되며, 모든 과정이 사용자의 기기에서 처리됩니다.

감지됨: …
파일을 끌어다 놓거나, 붙여넣거나, 직접 편집해 주세요
…
로컬

파일이 서버에 전송되지 않습니다. 이 페이지의 모든 변환은 JavaScript FileReader API를 사용하여 브라우저에서 로컬로 실행됩니다. 아무것도 업로드, 기록, 저장되지 않습니다. 기밀 Zoom/Teams 녹화본, 미공개 영상, 법률 인터뷰에도 안전하게 사용할 수 있습니다.

VTT to SRT 변환은 이렇게 작동합니다

WebVTT와 SubRip은 같은 기본 개념(타이밍이 있는 캡션 텍스트 목록)을 인코딩하지만, 구문은 세 가지 구체적인 면에서 다릅니다. 첫째, WebVTT의 헤더 줄(WEBVTT)과 NOTE/STYLE/REGION 블록은 SRT에 대응되는 것이 없으므로 제거해야 합니다. 둘째, WebVTT는 밀리초를 마침표로 구분하고(00:00:06.120) SRT는 쉼표를 요구하는데(00:00:06,120), 이 한 글자의 차이를 변환하지 않고 두면 엄격한 SRT 파서가 파일을 거부하게 됩니다. 셋째, WebVTT의 선택적 큐 식별자는 어떤 문자열이든 가능하지만, SRT는 1부터 시작해 빈틈없이 이어지는 엄격한 순차 정수를 요구합니다.

SubToolDesk의 변환기는 이 세 가지를 모두 자동으로 처리합니다. FileReader API로 VTT를 로컬에서 분석하고, 깨끗한 순차 번호를 다시 산출하며, 밀리초 구분자를 바꾸고, SRT에 구문이 없는 모든 것을 버립니다.

VTT를 SRT로 변환하는 방법 (단계별 안내)

  • 위 변환기에 .vtt 파일을 끌어다 놓거나, 왼쪽 패널에 내용을 붙여넣으세요.
  • 형식 배지가 VTT로 감지되는지 확인하세요.
  • 음성 태그와 위치 메타데이터가 SRT에서 문자 그대로의 텍스트로 남지 않도록 서식 태그 제거를 켜 두세요.
  • 다운로드를 눌러 올바른 형식의 .srt 파일을 저장하거나, 복사를 눌러 다른 곳에 붙여넣으세요.

WebVTT를 SRT로 변환하는 이유

.vtt 파일은 브라우저에서는 잘 재생되지만, 여전히 많은 도구와 작업 흐름이 .srt를 기대합니다. 변환하는 이유는 거의 항상 다음 중 하나입니다.

  • 이유: Premiere, DaVinci Resolve, Final Cut 같은 비디오 편집기의 자막 가져오기 기능이 SRT를 중심으로 만들어져 있어, WebVTT를 거부하거나 불안정하게 처리합니다.
  • 이유: 현지화 업체나 캡션 서비스가 가지고 있는 형식과 관계없이 표준 입력 형식으로 SRT를 요청합니다.
  • 이유: WebVTT 지원이 보편화되기 전에 만들어진 비디오 플랫폼, 스트리밍 서비스, 광고 서버에 업로드하는데, .srt만 허용됩니다.
  • 이유: Zoom, Teams, 또는 Whisper 전사에서 WebVTT로 AI 생성 캡션을 받았고, 더 오래된 데스크톱 도구를 사용하는 사람에게 전달해야 합니다.
  • 이유: SRT에 대응되는 것이 없는 음성 태그와 큐 설정 메타데이터를 형식 변환과 같은 과정에서 제거하고 싶습니다.
  • 이유: 몇 년 후 어떤 소프트웨어를 쓰더라도 파일이 계속 열릴 수 있도록, 더 보편적으로 지원되는 형식으로 캡션을 보관하고 있습니다.

변환 전후 비교: 실제 예시

음성 태그와 큐 설정 속성이 포함된, Zoom이나 Teams가 내보낼 법한 짧은 WebVTT 큐를 서식 태그 제거를 켠 상태(이 페이지의 기본 설정)와 화자 레이블 제거를 끈 상태로 변환한 예시입니다.

Before
WEBVTT

1
00:00:06.120 --> 00:00:09.400 align:start position:10%
<v Jordan>이렇게 모시게 되어 기쁩니다, 초대해 주셔서 감사합니다.

2
00:00:09.600 --> 00:00:12.800 align:start position:10%
<v Priya>그럼 의제부터 시작해 볼까요.
After
1
00:00:06,120 --> 00:00:09,400
이렇게 모시게 되어 기쁩니다, 초대해 주셔서 감사합니다.

2
00:00:09,600 --> 00:00:12,800
그럼 의제부터 시작해 볼까요.

WEBVTT 헤더, align:start position:10% 큐 설정 두 개(SRT에는 큐 위치 지정을 위한 대응 구문이 없습니다), 그리고 <v Jordan>과 <v Priya> 음성 태그 모두 사라졌습니다. 서식 태그 제거가 기본적으로 켜져 있기 때문입니다. 밀리초 앞의 모든 마침표는 쉼표로 바뀌었고, 큐 번호는 순차적으로 다시 매겨졌습니다. 만약 화자가 일반 텍스트로(Jordan:처럼) 표시되어 있었다면, 화자 레이블 제거가 기본적으로 꺼져 있어 그 텍스트는 그대로 남아 있었을 것입니다.

나란히 비교: 같은 큐, 두 가지 형식

WebVTT:
00:00:06.120 --> 00:00:09.400 align:start
<v Jordan>이렇게 모시게 되어 기쁩니다.

SRT:
1
00:00:06,120 --> 00:00:09,400
이렇게 모시게 되어 기쁩니다.
SRT 큐, 레이블 표시
1← 순서 번호00:00:03,500 --> 00:00:06,120← 시작 및 종료 타임코드Thanks for joining the call today.← 대화 텍스트
VTT 큐, 레이블 표시
WEBVTT← 필수 헤더00:00:03.500 --> 00:00:06.120← 시작 및 종료 타임코드Thanks for joining the call today.← 대화 텍스트

2026년에도 여전히 이 변환이 중요한 이유

브라우저 네이티브 캡션과 AI 전사 도구(YouTube, Zoom, OpenAI Whisper 내보내기)는 HTML5 <track> 표준이기 때문에 기본적으로 WebVTT를 사용합니다. 하지만 데스크톱 비디오 편집기, 레거시 미디어 플레이어, 스트리밍 플랫폼의 자막 업로드 양식 중 상당수는 여전히 .srt를 기대하거나 그것만 허용합니다. 변환해 두면 아무것도 다시 입력하거나 타이밍을 손으로 재조정하지 않고도 캡션을 두 세계 모두에서 이동할 수 있게 유지할 수 있습니다.

브라우저 밖으로 아무것도 나가지 않습니다

변환이 순수한 텍스트 변형(비디오 처리 없음, OCR 없음, 외부 API 없음)이기 때문에, 즉시 그리고 완전히 클라이언트 측에서 실행됩니다. 이는 자막 파일의 형식만 바꾸려고 제3자 서버에 넘기고 싶지 않은 기밀 녹음(증언, 내부 전체 회의 영상, 미공개 예고편)에도 그대로 적용됩니다.

누가, 왜 VTT를 SRT로 변환하는가

AI가 생성한 캡션(Whisper, Otter.ai, Zoom, Teams)을 받는 영상 편집자들은 편집 소프트웨어(Premiere, DaVinci Resolve, Final Cut)의 자막 가져오기 기능이 더 오래되고 더 보편적으로 지원되는 형식을 중심으로 만들어져 있기 때문에 특히 SRT가 필요한 경우가 많습니다. 현지화 업체는 출처와 관계없이 표준 입력 형식으로 SRT를 요청하는 경우가 흔합니다. 그리고 WebVTT 지원이 널리 퍼지기 전에 만들어진 비디오 플랫폼이나 광고 서버에 캡션을 업로드하려는 사람은 .vtt 파일을 그대로 올리려다 막힐 것입니다. 한 번 로컬에서 변환해 두면 원본 캡션 도구에서 다시 내보내거나 타임코드를 손으로 다시 입력할 필요가 없어집니다.

무엇이 다시 번호 매겨지고, 왜 필수적인가

WebVTT의 큐 식별자는 선택 사항이며, 존재하더라도 UUID, 타임스탬프, 혹은 아무것도 아닌 임의의 문자열일 수 있습니다. SRT의 사양은 더 엄격합니다. 모든 큐는 1부터 시작하는 순차적인 정수 색인을 빈틈이나 중복 없이 가져야 하며, 그렇지 않으면 많은 플레이어가 처음 깨진 색인 이후로 파일 분석을 거부합니다. SubToolDesk는 원본 VTT에 있던 식별자(있다면)를 버리고 내보낼 때 깨끗하고 빈틈없는 순서를 새로 생성하므로, 원본 번호가 얼마나 불규칙했는지와 관계없이 결과물은 유효한 SRT가 됩니다.

이 변환기가 유지하는 것과 제거하는 것

유지되는 것:

  • 원래 순서 그대로의 모든 대화 텍스트.
  • 모든 큐의 밀리초 단위 정밀한 타이밍.
  • 원래 순서대로 큐당 한 블록, 1부터 순차적으로 다시 매겨짐(SRT는 이를 요구하지만 WebVTT는 요구하지 않습니다).
  • 화자 레이블 제거가 기본적으로 꺼져 있으므로, Jordan:과 같은 일반 텍스트 화자 접두사.

제거되거나 바뀌는 것:

  • WEBVTT 헤더 줄과 SRT에 대응되는 것이 없는 모든 NOTE, STYLE, REGION 블록.
  • 밀리초 앞의 마침표는 모든 타임코드에서 쉼표로 바뀝니다.
  • align:start position:10% 같은 타임스탬프 줄의 큐 설정은 SRT에 구문이 없으므로 토글 상태와 관계없이 항상 제거됩니다.
  • 서식 태그 제거가 켜져 있을 때(이 페이지에서는 기본적으로 켜져 있습니다) <v Speaker Name>과 같은 음성 태그.

자주 발생하는 문제와 해결 방법

  • <v Speaker Name> 태그가 SRT 출력에서 여전히 문자 그대로 표시됩니다: 서식 태그 제거를 켜세요. 직접 바꾸지 않았다면 꺼져 있을 리가 없습니다. 이 페이지에서는 SRT에 음성 태그를 보존할 구문이 없기 때문에 기본적으로 켜져 있습니다.
  • Jordan:과 같은 일반 텍스트 이름이 여전히 줄 앞에 붙어 있습니다: 이는 별개의 토글인 화자 레이블 제거입니다. SRT는 일반 텍스트 접두사를 문제없이 표현할 수 있으므로 여기서는 기본적으로 꺼져 있습니다. 그것도 제거하고 싶다면 켜세요.
  • 출력에서 밀리초 앞에 쉼표 대신 여전히 마침표가 보입니다: 실제 .srt 출력을 보고 있는지, 원본 .vtt를 붙여넣은 복사본이 아닌지 확인하세요. 변환기 위의 형식 배지가 어느 쪽이 활성 상태인지 확인해 줍니다.
  • 큐 위치나 정렬이 사라진 것처럼 보입니다: 버그가 아니라 예상된 동작입니다. SRT에는 align이나 position 설정을 위한 구문이 없으므로, 토글 상태와 관계없이 변환 중에 제거됩니다.
  • 플레이어가 변환된 파일을 거부하거나 첫 번째 큐 이후에 멈춥니다: 변환 전에 형식 배지가 VTT로 표시되었는지 확인하세요. 심하게 잘린 채로 붙여넣으면 큐 감지가 깨져 색인이 없거나 잘못된 큐가 생길 수 있습니다.
  • 발음 기호가 있는 문자나 비영어 텍스트가 é처럼 깨진 문자로 표시됩니다: 원본 .vtt가 UTF-8로 저장되지 않았습니다. UTF-8로 다시 내보내거나 저장한 뒤 다시 업로드하세요.

큐 설정과 스타일에 대한 참고

WebVTT의 위치 메타데이터(align:start position:10%, 줄 오프셋 등 유사한 설정)는 SRT에 대응되는 것이 없습니다. SubRip 자막은 항상 플레이어의 기본 위치에 렌더링되며, 큐별 배치 제어가 전혀 없습니다. 그 메타데이터는 어중간한 텍스트로 남겨지는 대신 변환 중에 제거되며, 이는 서식 태그 제거 토글이 제어하는 부분입니다. WebVTT 파일이 접근성이나 스타일상의 이유로 커스텀 위치 지정에 의존하고 있다면, 그 세부 사항은 SRT로 옮겨가는 과정에서 살아남지 못합니다. 이는 이 변환기의 한계가 아니라 SRT 형식 자체의 한계입니다.

자주 묻는 질문

VTT를 SRT로 어떻게 변환하나요?

위 변환기에 .vtt 파일을 끌어다 놓거나, 내용을 왼쪽 패널에 직접 붙여넣으세요. 형식 배지가 VTT를 확인하면 다운로드 또는 복사를 누르세요. 이 도구는 모든 타임코드에서 마침표를 쉼표로 바꾸고, WEBVTT 헤더와 큐 설정 메타데이터를 제거하며, 큐를 순차적으로 다시 매깁니다. 설치도, 계정도, 업로드도 필요 없습니다.

VTT를 SRT로 변환하면 실제로 무엇이 바뀌나요?

세 가지가 바뀝니다. 모든 타임코드에서 밀리초 앞의 마침표가 쉼표로 바뀌고, WEBVTT 헤더와 큐 설정 메타데이터가 제거되며, 큐는 1부터 순차적으로 다시 매겨집니다. 이는 SRT가 요구하지만 WebVTT는 요구하지 않는 부분입니다.

<v Speaker> 음성 태그와 큐 위치 지정은 어떻게 되나요?

SRT에는 둘 다에 대응되는 구문이 없으므로, 이 도구는 기본적으로 변환 중에 이를 제거합니다(캡션 본문에 원본 태그 텍스트를 그대로 남기고 싶다면 서식 태그 제거를 꺼 두세요).

처음부터 VTT 대신 SRT가 필요한 이유는 무엇인가요?

SRT는 가장 보편적으로 지원되는 자막 형식입니다. VLC, 대부분의 미디어 플레이어, Adobe Premiere, DaVinci Resolve, 그리고 대부분의 자막 트랙 업로드 양식이 .srt를 받아들이는 반면, 일부 오래된 도구는 .vtt를 전혀 인식하지 못합니다.

변환 과정에서 타이밍 정밀도가 손실되나요?

아니요. 밀리초 정밀도는 정확히 보존됩니다. 구분자 문자와 주변 메타데이터만 바뀝니다.

큐 식별자가 없는 VTT 파일도 변환할 수 있나요?

네. 파서는 항상 -->를 포함하는 타임스탬프 줄로 각 큐를 찾아내므로, 식별자 줄이 없어도 분석에 영향을 주지 않습니다.

변환 후 SRT 파일을 열거나 편집하려면 무엇을 쓰면 되나요?

어떤 일반 텍스트 편집기든 사용할 수 있습니다. Windows의 메모장, Mac의 TextEdit도 됩니다. 타이밍 조정이나 더 편한 인터페이스를 원한다면 Aegisub나 Subtitle Edit 같은 전용 자막 편집기가 SRT를 네이티브로 다루며, VLC를 비롯한 대부분의 미디어 플레이어는 일치하는 영상 파일과 함께 불러와 동기화를 미리 볼 수 있습니다.