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:
- Um número de sequência, a contar a partir de 1.
- Uma linha de tempos: os tempos de início e de fim separados por
-->, cada um escrito comohoras:minutos:segundos,milissegundos. - Uma ou mais linhas de texto da legenda.
- 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:
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:
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 blocoREGION, ú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 okind.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.
<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
| Característica | SRT | VTT (WebVTT) |
|---|---|---|
| Extensão do ficheiro | .srt | .vtt |
| Origem | SubRip, um programa para extrair legendas de DVDs | Especificação WebVTT do W3C |
| Cabeçalho | Nenhum | WEBVTT na primeira linha (obrigatório) |
| Identificadores de bloco | Números sequenciais | Opcionais; qualquer texto |
| Marca de tempo | 00:01:04,100 | 00:01:04.100 ou 01:04.100 |
| Horas | Sempre escritas | Opcionais quando são zero |
| Posicionamento | Não existe no formato básico | line, position, size, align, vertical, region |
| Estilos | Alguns leitores leem etiquetas simples; o YouTube ignora-as | Etiquetas em linha e CSS em blocos STYLE |
| Comentários | Não | Blocos NOTE |
| Marcação de quem fala | Não | Etiquetas de voz <v> |
| Codificação | Use UTF-8 (o YouTube exige-o) | UTF-8 obrigatório |
| Elemento <track> do HTML5 | Não | Sim |
| Ideal para | Carregar em plataformas de vídeo, entregar ficheiros a outras ferramentas | Leitores 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
- Acrescente
WEBVTTcomo primeira linha, seguida de uma linha em branco. - Em todas as linhas de tempos, troque a vírgula antes dos milissegundos por um ponto:
00:00:04,100passa a00:00:04.100. - 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
- Apague o cabeçalho
WEBVTTe todos os blocosNOTE,STYLEeREGION. - Numere os blocos a partir de 1, substituindo os identificadores de texto.
- Escreva todas as marcas de tempo por extenso, como
HH:MM:SS,mmm: acrescente00:onde faltarem as horas e troque o ponto por uma vírgula. - Retire as definições de bloco, como
line:10%, do fim das linhas de tempos. - 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.