Конвертируйте WebVTT в SubRip (.srt)
Превратите файл .vtt, созданный Zoom, Teams или Whisper, в универсально совместимую дорожку субтитров .srt с точным тайм-кодом до миллисекунды — всё обрабатывается прямо на вашем устройстве.
Ваши файлы никогда не попадают на сервер. Каждое преобразование на этой странице выполняется локально в вашем браузере с помощью JavaScript API FileReader. Ничего не загружается, не регистрируется и не сохраняется. Подходит для конфиденциальных записей Zoom/Teams, ещё не вышедшего видео и юридических интервью.
Как работает конвертация VTT в SRT
WebVTT и SubRip кодируют одну и ту же базовую идею — список реплик с привязкой по времени, — но их синтаксис различается в трёх конкретных местах. Во-первых, у строки заголовка WebVTT (WEBVTT) и любых блоков NOTE/STYLE/REGION нет аналога в SRT, и их нужно убрать. Во-вторых, WebVTT разделяет миллисекунды точкой (00:00:06.120), а SRT требует запятую (00:00:06,120) — разница всего в один символ, из-за которой строгие парсеры SRT отклонят неконвертированный файл. В-третьих, необязательный идентификатор реплики в WebVTT может быть произвольной строкой, а SRT ожидает строго последовательное целое число, начинающееся с 1, без пропусков.
Конвертер SubToolDesk обрабатывает все три отличия автоматически: разбирает VTT локально с помощью API FileReader, заново выстраивает чистую последовательную нумерацию, меняет разделитель миллисекунд и отбрасывает всё, для чего в 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, и их нужно передать тому, кто использует более старые настольные инструменты.
- Причина: вы хотите заодно с конвертацией формата убрать теги говорящего и метаданные настроек реплик, для которых нет аналога в SRT.
- Причина: вы архивируете субтитры в более универсально поддерживаемом формате, чтобы файл всё ещё открывался в любой программе и спустя годы.
До и после: реальный пример
Короткая реплика WebVTT с тегом говорящего и атрибутом настроек реплики — в духе того, что экспортируют Zoom или Teams, — конвертированная с включённым «Удалять теги форматирования» (состояние по умолчанию на этой странице) и выключенным «Удалять метки говорящих»:
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>Давайте начнём с повестки дня.
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 Рад быть здесь.
Почему это по-прежнему важно в 2026 году
Нативные субтитры браузера и инструменты ИИ-расшифровки (YouTube, Zoom, экспорт OpenAI Whisper) по умолчанию используют WebVTT, поскольку это стандарт для элемента HTML5 <track>. Но значительная часть настольных видеоредакторов, старых медиаплееров и форм загрузки субтитров на стриминговых платформах всё ещё ожидает — или принимает — только .srt. Конвертация сохраняет совместимость субтитров с обоими мирами, без перепечатывания текста и ручной повторной синхронизации тайм-кодов.
Ничего не покидает ваш браузер
Поскольку конвертация — это чисто текстовое преобразование (без обработки видео, без OCR, без обращения к внешнему API), она выполняется мгновенно и полностью на стороне клиента. Это также означает, что инструмент подходит для конфиденциальных записей — показаний в суде, внутренних общих собраний компании, ещё не вышедших трейлеров, — которые вы не хотите передавать на сторонний сервер только ради переформатирования файла субтитров.
Кто конвертирует VTT в SRT и зачем
Видеомонтажёрам, получающим субтитры, сгенерированные ИИ (Whisper, Otter.ai, Zoom, Teams), часто нужен именно SRT, поскольку импорт субтитров в их монтажном комплексе (Premiere, DaVinci Resolve, Final Cut) изначально рассчитан на этот более старый, но гораздо более универсально поддерживаемый формат. Студии локализации часто требуют SRT как свой стандартный формат приёма материалов независимо от исходного. А любой, кто загружает субтитры на видеоплатформу или рекламный сервер, появившийся до широкого распространения WebVTT, упрётся в стену при попытке загрузить файл .vtt напрямую. Конвертация один раз, локально, избавляет от необходимости заново экспортировать файл из исходного инструмента субтитрирования или вручную перепечатывать тайм-коды.
Что перенумеровывается и почему это обязательно
Идентификатор реплики в WebVTT необязателен и, если присутствует, может быть любой строкой: UUID, меткой времени или вообще отсутствовать. Спецификация SRT строже: каждая реплика обязана нести последовательный целочисленный индекс, начинающийся с 1, без пропусков и повторов — иначе многие плееры откажутся разбирать файл после первого же нарушенного индекса. SubToolDesk отбрасывает любой идентификатор (если он вообще был) из исходного VTT и при экспорте генерирует чистую последовательность без пропусков, так что результат получается корректным SRT независимо от того, насколько нерегулярной была исходная нумерация.
Что этот конвертер сохраняет и что удаляет
Сохраняется:
- Каждое слово текста реплик в исходном порядке.
- Тайм-коды с точностью до миллисекунды для каждой реплики.
- Один блок на реплику, в исходном порядке, перенумерованный по порядку начиная с 1 (этого требует SRT; в WebVTT это необязательно).
- Текстовые префиксы говорящих вроде
Jordan:, поскольку «Удалять метки говорящих» по умолчанию выключено.
Удаляется или изменяется:
- Строка заголовка
WEBVTTи любые блокиNOTE,STYLEилиREGION, для которых нет аналога в SRT. - Точка перед миллисекундами — заменяется запятой в каждом тайм-коде.
- Настройки реплик в строке тайм-кода, такие как
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 нет эквивалентного синтаксиса ни для того, ни для другого, поэтому по умолчанию этот инструмент удаляет их при конвертации (выключите «Удалять теги форматирования», если хотите оставить исходный текст тега в тексте реплики).
Зачем вообще может понадобиться SRT вместо VTT?
SRT — самый универсально поддерживаемый формат субтитров: VLC, большинство медиаплееров, Adobe Premiere, DaVinci Resolve и большинство форм загрузки дорожек субтитров принимают .srt, в то время как некоторые старые инструменты вообще не распознают .vtt.
Теряется ли точность тайм-кода при конвертации?
Нет. Точность до миллисекунды сохраняется полностью. Меняется только символ-разделитель и сопутствующие метаданные.
Можно ли конвертировать файл VTT, в котором нет идентификаторов реплик?
Да. Парсер находит каждую реплику по строке тайм-кода (она всегда содержит -->), поэтому отсутствие строки идентификатора никак не влияет на разбор файла.
Чем открыть или отредактировать файл SRT после конвертации?
Подойдёт любой текстовый редактор — «Блокнот» в Windows, TextEdit на Mac. Для точной подгонки тайм-кода или более удобного интерфейса специализированные редакторы субтитров вроде Aegisub или Subtitle Edit нативно работают с SRT, а большинство медиаплееров (включая VLC) загрузят его вместе с видео, чтобы проверить синхронизацию.