Legenda WebVTT (.vtt)

Recomendação Padrão

Web Video Text Tracks (WebVTT) é o padrão da W3C para legendas, closed captions e descrições de capítulos. É integrado a elementos de vídeo HTML5 (<track>) e à transmissão ao vivo por HTTP (HLS).

Converter SRT para VTT

Conversor gratuito de SRT para VTT no navegador. Converta arquivos instantaneamente no seu dispositivo.

Inspeção e metadados

Sistemas operacionais e analisadores de arquivos identificam arquivos WebVTT pela sequência inicial de bytes:

Selecione ou solte os arquivos aqui

Privado - os arquivos nunca saem do seu dispositivo

ou colar Ctrl+V
Garantia de privacidade sem transmissão pela rede 0 bytes enviados a servidores externos. Todo o processamento ocorreu localmente no ambiente isolado do navegador.

Assinatura do arquivo em bytes (magic bytes)

Sistemas operacionais e analisadores de arquivos identificam arquivos WebVTT pela sequência inicial de bytes:

ASSINATURA HEXADECIMAL (DESLOCAMENTO 0):

57 45 42 56 54 54

REPRESENTAÇÃO ASCII: WEBVTT

Padronização: Recomendação W3C WebVTT

Especificações técnicas

Estrutura do contêinerArquivo de texto UTF-8 que começa com a assinatura WEBVTT, seguida por blocos de legenda e, opcionalmente, blocos STYLE e NOTE
CompressãoTexto simples não compactado (tipicamente compactado via HTTP por Gzip ou Brotli)
Ordem dos bytes (endianness)Fluxo de texto UTF-8
Espaços de corSuporte completo ao módulo de cores CSS Nível 4 nos estilos de legenda
Canais e EstruturaLegendas com marcação de tempo, confiança de reconhecimento de fala, estilos CSS e configurações de posição na tela
Dimensões MáximasLegendas sequenciais ilimitadas
TransparênciaSuporte a opacidade CSS e transparência alfa por meio do pseudo-elemento ::cue
Streaming e ProgressivoTransmissão nativa em elementos HTML5 <video> e manifestos de vídeo ao vivo HLS / DASH

Matriz de comparação técnica: WebVTT e formatos concorrentes

Atributo técnicoWebVTT (Atual)SRTASSSUB
Integração Web HTML5100% padrão nativo (<track>)Requer conversão JSRequer WebAssemblyRequer conversão
Estilização CSSEstilização CSS nativa completa (::cue)Apenas tags HTML básicasTags de substituição proprietáriasNenhum
Transmissão HLS / DASHPadrão universal de transmissão por streamingSuportado via multiplexaçãoSuporte a streaming limitadoNenhum
Requisito de CabeçalhoLinha 1 com texto mágico estrito 'WEBVTT'Nenhum cabeçalho necessárioSeção [Script Info]Nenhum cabeçalho necessário

Modos comuns de corrupção e guia de recuperação com editor hexadecimal

Erro no console do navegador: 'Malformed WebVTT file: Missing WEBVTT signature'.

Causa principal: Ausência da string 'WEBVTT' na linha 1, ou linhas em branco antes do cabeçalho.

Recuperação: Adicione 'WEBVTT\n\n' no topo do arquivo usando o Conversor de Legendas File2File.app.

Análise de segurança e vetores de ataque a analisadores

Analisadores WebVTT em navegadores web processam legendas não confiáveis que podem levar a Cross-Site Scripting (XSS) se renderizadas sem sanitização no DOM.

Vetores de ataque conhecidos

  • Injeção de XSS via conteúdos de legenda HTML não sanitizados inseridos no DOM do reprodutor de vídeo web.
  • Server-Side Request Forgery (SSRF) durante a geração automatizada de miniaturas de legendas no lado do servidor.
  • Negação de serviço através de seletores de legenda CSS malformados.

Melhores práticas defensivas: Use a renderização nativa do elemento <track> do navegador e sanitize o conteúdo das legendas antes de inseri-lo manualmente no DOM.

Origens históricas e marcos

2019A W3C promove o WebVTT (Web Video Text Tracks) ao status de proposta de recomendação.
2011Renomeado de WebSRT para WebVTT para estabelecer um padrão W3C distinto e separado do SubRip clássico.
2010O WHATWG introduz o WebVTT para resolver a criação nativa de legendas para a tag HTML5 <video>.

Principais vantagens

  • Padrão nativo da web no HTML5: compatível diretamente com todos os navegadores no elemento <track> sem bibliotecas externas.
  • Suporte a estilização CSS rica: personalize cores, fontes, planos de fundo e posições usando o pseudo-elemento CSS nativo '::cue'.
  • Suporte de primeira classe à transmissão ao vivo: integrado aos manifestos de streaming Apple HLS e MPEG-DASH para legendas de transmissão.

Limitações técnicas e desvantagens

  • Requisito de cabeçalho estrito: o arquivo deve começar com o texto exato 'WEBVTT' na primeira linha, caso contrário os navegadores o rejeitam.
  • O separador de milissegundos é o ponto ('00:01:20.500'), por isso é necessário converter arquivos SRT legados que usam vírgula.
  • Reprodutores de hardware mais antigos que não sejam navegadores (como caixas de mídia USB baratas) frequentemente carecem de suporte nativo ao WebVTT.

Curiosidades técnicas

  • Todo arquivo WebVTT válido deve começar com a palavra exata 'WEBVTT' na primeira linha; qualquer outra coisa faz com que os navegadores ignorem o arquivo.
  • O WebVTT foi originalmente chamado de 'WebSRT' porque foi deliberadamente projetado para parecer quase idêntico às legendas SRT clássicas.
  • O WebVTT também pode ser usado para capítulos de vídeo e dicas de ferramentas de miniaturas interativas ao passar o mouse sobre as barras de progresso do vídeo.

Perguntas técnicas frequentes

Para que o WebVTT é usado?

WebVTT é o formato padrão da web para adicionar legendas, closed captions, capítulos e descrições a elementos <video> HTML5.

Como posso converter uma legenda SRT para WebVTT?

Você pode converter arquivos SRT em arquivos WebVTT limpos em um clique usando o File2File.app diretamente no seu navegador.

Por que minhas legendas WebVTT não aparecem no navegador?

Certifique-se de que seu arquivo comece com 'WEBVTT' na linha 1, tenha uma linha em branco após ele e que seu servidor web o sirva com o cabeçalho 'Content-Type: text/vtt'.