SRT vs. VTT: qual é a diferença e que ficheiro de legendas deve usar?

Como os dois ficheiros de legendas mais comuns diferem linha a linha, que plataformas aceitam cada um e como converter entre eles sem estragar a sincronização.

Atualizado a 8 min de leituraPela equipa do AutoCap

A resposta curta

Use SRT quando carrega legendas numa plataforma de vídeo e não tem a certeza do que ela pede. É o mais simples dos dois, e o YouTube, o Vimeo e o LinkedIn aceitam-no. Use VTT (WebVTT) quando as legendas vão ser reproduzidas numa página web que controla — um leitor HTML5, uma plataforma de cursos, o seu próprio site — ou quando precisa de algo que o SRT não consegue exprimir, como passar uma legenda para o topo da imagem.

Ambos são texto simples. Ambos guardam a mesma coisa essencial: uma lista de blocos de legenda, cada um com um tempo de início, um tempo de fim e as palavras a mostrar. Pode converter um no outro em segundos. As diferenças são pequenas, mas são exatamente os pormenores que fazem um carregamento falhar.

O que é um ficheiro SRT

SRT significa SubRip Subtitle. O nome vem do SubRip, um software gratuito que extrai as legendas de DVDs, com os respetivos tempos, para um ficheiro de texto. Cada bloco de legenda tem quatro partes:

  1. Um número de sequência, a contar a partir de 1.
  2. Uma linha de tempos: os tempos de início e de fim separados por -->, cada um escrito como horas:minutos:segundos,milissegundos.
  3. Uma ou mais linhas de texto da legenda.
  4. Uma linha em branco que fecha o bloco.

As horas, os minutos e os segundos têm sempre dois dígitos e os milissegundos sempre três, por isso dez segundos e meio escrevem-se 00:00:10,500. O Centro de Ajuda do Vimeo explica a mesma regra na página de resolução de problemas com ficheiros de legendas.

E é tudo. Alguns leitores de vídeo respeitam umas quantas etiquetas ao estilo HTML no SRT, como <i> para itálico, mas não há garantias. O YouTube, por exemplo, diz que só aceita ficheiros SRT básicos, não reconhece neles qualquer marcação de estilo e exige texto simples em UTF-8.

O que é um ficheiro VTT

VTT é a abreviatura de WebVTT, o formato Web Video Text Tracks, uma especificação do W3C. É o formato que os navegadores usam para as legendas anexadas a vídeo HTML5. Os blocos são muito parecidos com os do SRT, e o formato acrescenta o que um leitor web precisa: posicionamento, estilos, comentários e marcação de quem fala.

Um ficheiro WebVTT tem de começar pela palavra WEBVTT seguida de uma linha em branco, e tem de estar codificado em UTF-8. Quando é servido a partir de um site, o tipo MIME é text/vtt. Os números dos blocos são opcionais — um bloco pode ter qualquer identificador, ou nenhum. As marcas de tempo põem um ponto antes dos milissegundos, e as horas podem ser omitidas quando são zero, por isso 00:10.500 é válido.

As mesmas legendas nos dois formatos

Eis três blocos de um pequeno tutorial, primeiro em SRT:

lighting-tutorial.srt
1
00:00:01,200 --> 00:00:03,800
Welcome back. Today we're testing
three ways to light a small room.

2
00:00:04,100 --> 00:00:06,500
The first one costs nothing:
just move the desk to the window.

3
00:00:07,000 --> 00:00:08,400
[laughs] Seriously, try it.

E os mesmos blocos em WebVTT, com algumas funcionalidades que o SRT não tem:

lighting-tutorial.vtt
WEBVTT

NOTE Lighting tutorial, English captions, v2

STYLE
::cue(.sound) {
  color: yellow;
}

1
00:00:01.200 --> 00:00:03.800
<v Maya>Welcome back. Today we're testing
three ways to light a small room.

2
00:00:04.100 --> 00:00:06.500 line:10%
<v Maya>The first one costs nothing:
just move the desk to the window.

laugh
00:07.000 --> 00:08.400
<c.sound>[laughs]</c> Seriously, try it.

Lida de cima para baixo, a versão VTT tem: o cabeçalho obrigatório; um comentário NOTE que os leitores de vídeo ignoram; um bloco STYLE que dá cor a tudo o que tem a classe .sound; etiquetas de voz com o nome de quem fala; uma definição de bloco (line:10%) que leva a segunda legenda para perto do topo da imagem; um identificador de texto (laugh) em vez de um número; e uma última marca de tempo sem as horas.

As diferenças que importam

O cabeçalho

Um ficheiro VTT sem WEBVTT na primeira linha não é válido, e um analisador rigoroso rejeita-o. O SRT não tem qualquer cabeçalho: o ficheiro começa logo com o bloco número 1. É por isso que mudar o nome de captions.srt para captions.vtt não funciona: falta o cabeçalho e as marcas de tempo continuam a usar vírgulas.

Marcas de tempo

O SRT escreve 00:00:04,100. O VTT escreve 00:00:04.100, ou 00:04.100. Vírgula ou ponto parece um pormenor, mas um analisador que espera um pode recusar o outro.

Posicionamento

As definições de bloco do VTT ficam na linha de tempos, depois do tempo de fim:

  • line — a posição vertical, como número de linha ou percentagem;
  • position — o recuo horizontal, em percentagem;
  • size — a largura da caixa do bloco;
  • align — o alinhamento do texto: start, center, end, left ou right;
  • vertical — texto vertical, para os sistemas de escrita que o usam;
  • region — uma área com nome, definida num bloco REGION, útil para legendas que vão subindo linha a linha.

É assim que se afasta uma legenda de um nome sobreposto ou de outro texto no ecrã. O SRT básico não tem forma de posicionar um bloco.

Estilos

O VTT aceita etiquetas em linha — negrito, itálico, sublinhado, segmentos com classe (<c>) e anotações ruby — e ainda blocos STYLE com CSS para o pseudoelemento ::cue. Quanto disso é respeitado depende do leitor de vídeo. O YouTube aceita posicionamento nos ficheiros VTT, mas limita os estilos a negrito, itálico e sublinhado. Se as legendas tiverem de ter um aspeto específico em todo o lado, o único método fiável é embuti-las no vídeo.

Comentários, oradores e idiomas

Os blocos NOTE guardam comentários — uma nota do tradutor, um número de versão, um lembrete — que o espectador nunca vê. As etiquetas de voz (<v Maya>) registam quem está a falar de uma forma que o software consegue ler, e os segmentos de idioma assinalam uma passagem noutra língua. O SRT não tem nada disto. Todas as linhas de texto de um bloco SRT são mostradas ao espectador.

Legendas, capítulos e descrições

Numa página web, um ficheiro VTT é anexado a um vídeo com o elemento <track>, e o atributo kind indica para que serve o ficheiro. A norma HTML define cinco tipos:

  • subtitles — uma transcrição ou tradução do diálogo, para espectadores que ouvem o áudio mas não o compreendem. É o valor predefinido quando falta o kind.
  • captions — o diálogo, mais efeitos sonoros, música e outro áudio relevante, para quando o som não está disponível ou é difícil de ouvir.
  • descriptions — descrições em texto do que aparece no ecrã, para um sintetizador de voz ler a espectadores que não conseguem ver o vídeo.
  • chapters — títulos de capítulos para navegar no vídeo.
  • metadata — dados para scripts, que não são mostrados ao espectador.
player.html
<video controls src="lighting.mp4">
  <track kind="captions" src="lighting.en.vtt"
         srclang="en" label="English" default>
  <track kind="chapters" src="lighting.chapters.vtt"
         srclang="en">
</video>

Os navegadores esperam estes ficheiros em WebVTT, por isso um site que só tenha ficheiros SRT precisa de os converter primeiro. Dois pormenores práticos da documentação da MDN: o srclang é obrigatório quando o tipo é subtitles, e o ficheiro da faixa tem de vir da mesma origem que a página, a não ser que o elemento de vídeo tenha um atributo crossorigin.

SRT vs. VTT de relance

SRT e VTT comparados
CaracterísticaSRTVTT (WebVTT)
Extensão do ficheiro.srt.vtt
OrigemSubRip, um programa para extrair legendas de DVDsEspecificação WebVTT do W3C
CabeçalhoNenhumWEBVTT na primeira linha (obrigatório)
Identificadores de blocoNúmeros sequenciaisOpcionais; qualquer texto
Marca de tempo00:01:04,10000:01:04.100 ou 01:04.100
HorasSempre escritasOpcionais quando são zero
PosicionamentoNão existe no formato básicoline, position, size, align, vertical, region
EstilosAlguns leitores leem etiquetas simples; o YouTube ignora-asEtiquetas em linha e CSS em blocos STYLE
ComentáriosNãoBlocos NOTE
Marcação de quem falaNãoEtiquetas de voz <v>
CodificaçãoUse UTF-8 (o YouTube exige-o)UTF-8 obrigatório
Elemento <track> do HTML5NãoSim
Ideal paraCarregar em plataformas de vídeo, entregar ficheiros a outras ferramentasLeitores web, plataformas de cursos, sites que controla

Que plataformas aceitam cada formato

Os requisitos de carregamento mudam, por isso consulte a página de ajuda da plataforma antes de carregar muitos ficheiros de uma vez. À data de setembro de 2026:

  • O YouTube aceita os dois, entre muitos outros formatos. Os ficheiros SRT têm de ser básicos e em UTF-8 simples, sem estilos; os ficheiros VTT podem incluir posicionamento, com os estilos limitados a negrito, itálico e sublinhado. Passo a passo: como carregar um ficheiro SRT no YouTube.
  • O Vimeo aceita SRT e WebVTT para legendas, recomenda WebVTT e pede codificação UTF-8.
  • O Centro de Ajuda do LinkedIn explica como anexar um ficheiro SRT quando publica um vídeo a partir do site para computador.
  • O vídeo HTML5 no seu próprio site usa WebVTT através de <track>.

O vídeo curto vertical é um caso à parte. No TikTok, nos Instagram Reels e nos YouTube Shorts, embutir as legendas na imagem é muitas vezes a opção mais prática, porque o estilo viaja com o vídeo, seja qual for a app ou a definição em que é reproduzido. As vantagens e desvantagens estão explicadas em legendas abertas vs. legendas ocultas.

Como converter um no outro

De SRT para VTT

  1. Acrescente WEBVTT como primeira linha, seguida de uma linha em branco.
  2. Em todas as linhas de tempos, troque a vírgula antes dos milissegundos por um ponto: 00:00:04,100 passa a 00:00:04.100.
  3. Guarde o ficheiro em UTF-8 com a extensão .vtt.

Os números dos blocos podem ficar: no VTT passam simplesmente a identificadores de bloco. Troque as vírgulas só nas linhas de tempos — um localizar e substituir às cegas altera também todas as vírgulas do texto das legendas. O conversor de SRT para VTT gratuito faz os três passos por si.

De VTT para SRT

  1. Apague o cabeçalho WEBVTT e todos os blocos NOTE, STYLE e REGION.
  2. Numere os blocos a partir de 1, substituindo os identificadores de texto.
  3. Escreva todas as marcas de tempo por extenso, como HH:MM:SS,mmm: acrescente 00: onde faltarem as horas e troque o ponto por uma vírgula.
  4. Retire as definições de bloco, como line:10%, do fim das linhas de tempos.
  5. Remova as etiquetas de voz, de classe, de idioma, ruby e de marca de tempo. Se uma etiqueta de voz dava o nome de alguém que o espectador precisa de conhecer, transforme-a num rótulo visível.

Neste sentido perde-se informação — posições, estilos e marcação de quem fala —, por isso guarde o VTT original. O conversor de VTT para SRT trata da renumeração e da reescrita das marcas de tempo. Se as legendas convertidas aparecerem sempre adiantadas ou atrasadas, o problema é outro: desloque todos os blocos de uma vez com o sincronizador de legendas.

Qual deve usar?

  • Carregar no YouTube, no Vimeo ou no LinkedIn: o SRT funciona nos três. No YouTube ou no Vimeo, mude para VTT se precisar de posicionar as legendas.
  • O seu próprio site ou leitor de cursos: VTT, anexado com <track kind="captions">.
  • Entregar legendas a um editor de vídeo ou tradutor: pergunte que formato leem as ferramentas que usa. Na falta de resposta, o SRT é a escolha mais segura.
  • Guardar uma cópia principal: exporte os dois a partir da mesma transcrição corrigida, para que cada correção chegue aos dois ficheiros.

Seja qual for a escolha, as palavras e os tempos importam mais do que o formato. Um ficheiro perfeitamente formatado com um nome mal ouvido no bloco 12 continua a estar errado. O gerador de SRT e o gerador de VTT do AutoCap escrevem os dois formatos, nos planos pagos, a partir da transcrição que corrigiu, com um tempo de início e de fim para cada palavra — por isso os dois ficheiros nunca se contradizem.

Perguntas

Posso mudar o nome de um ficheiro .srt para .vtt?

Só isso não basta. Um ficheiro VTT precisa de WEBVTT na primeira linha e de um ponto em vez de uma vírgula antes dos milissegundos. Acrescente o cabeçalho e corrija as marcas de tempo, ou passe o ficheiro por um conversor de SRT para VTT.

O YouTube prefere SRT ou VTT?

O YouTube aceita os dois. O SRT é a opção mais simples. Use VTT se precisar de uma legenda fora da posição predefinida: o YouTube aceita posicionamento nos ficheiros VTT, mas ignora a marcação de estilo nos ficheiros SRT.

Que formato de legendas permite estilos?

O WebVTT. Tem etiquetas em linha e CSS através de blocos STYLE, embora cada leitor de vídeo decida quanto disso respeita. O SRT não tem estilos normalizados, e o YouTube ignora a marcação nos ficheiros SRT.

Legende o seu próximo vídeo automaticamente.

Carregue um MP4 ou MOV, obtenha legendas com um tempo para cada palavra, corrija o que a transcrição deixou escapar e exporte um vídeo legendado. O plano gratuito não pede cartão.