FormatDrop
Document Format

VTT

WebVTT (Web Video Text Tracks)

WebVTT (.vtt) is the W3C subtitle standard for the web. Every HTML5 <video> element supports VTT via a <track> element, and it's the required subtitle format for HLS, DASH, and most streaming CDNs. It's plain UTF-8 text that any text editor can open.

What is VTT?

A VTT file starts with the magic header 'WEBVTT', then lists cue blocks. Each cue has an optional ID, a timestamp line (HH:MM:SS.mmm --> HH:MM:SS.mmm) with optional cue settings (position, line, align), and the cue payload. Comments and regions are also supported. The format is a superset of SRT with stricter timestamp syntax and extra positioning metadata.

VTT pros and cons

Advantages

  • Native HTML5 <video> and <track> support — no plugins
  • Required format for HLS, DASH, and most streaming platforms
  • Supports cue positioning, sizing, and text alignment
  • UTF-8 throughout — handles all languages including RTL
  • Human-readable plain text

Limitations

  • Styling is limited compared to ASS/SSA
  • Not supported inside .mp4 or .mkv without special muxing
  • Slight syntax differences from SRT cause parsing errors if confused
  • CSS styling support varies across browser implementations

When should you convert VTT files?

Convert SRT to VTT when publishing video to the web — it's the required format for HTML5 <track> and most CDNs. Convert VTT to SRT when your video editor or media player only accepts SRT. Convert VTT to ASS when you need rich styling for local MKV playback.

All FormatDrop conversions run entirely in your browser — no file upload, no server processing. Your files stay on your device.

VTT FAQ

What's the difference between VTT and SRT?
VTT uses a dot for milliseconds (00:00:01.000) while SRT uses a comma (00:00:01,000). VTT has a mandatory 'WEBVTT' header. VTT supports cue settings (position, line, align) after the arrow; SRT does not. Both are plain text and easily converted between each other.
Can I use VTT with YouTube?
YouTube accepts VTT for uploaded caption files. When you download captions from YouTube you get SBV or SRT — convert to VTT with any subtitle converter for use elsewhere.
How do I convert SRT to VTT with FFmpeg?
Use: `ffmpeg -i input.srt output.vtt`. FFmpeg handles the comma-to-dot timestamp conversion and adds the WEBVTT header automatically.