What is the VTT file format?
A .vtt file is a WebVTT (Web Video Text Tracks) subtitle and caption file - the native timed-text format of the modern web platform. It stores synchronized subtitles, captions, chapter markers, and metadata as plain UTF-8 text, delivered to HTML5 <video> elements via the <track> tag.
Every valid .vtt file must open with the literal string WEBVTT on its first line (a UTF-8 BOM may precede it). Timed cue blocks follow: an optional cue identifier, a timestamp range in arrow notation (00:00:01.000 --> 00:00:04.000), and the cue text. Unlike the older .srt format, .vtt uses a period as the milliseconds separator. It also extends the subtitle model with inline styling tags (<b>, <i>, <u>, <ruby>, CSS class tags <c.classname>), per-cue positioning attributes (line, position, align, size), and separate track kinds for chapters and metadata.
Because all major browsers implement WebVTT natively, no plugin is required - adding a <track kind="subtitles" src="file.vtt"> element inside a <video> tag is enough. The registered MIME type is text/vtt. Files are fully human-readable and editable in any plain-text editor. Subtitle tools such as Subtitle Edit, VLC media player, and YouTube Studio all support .vtt natively, and converters can round-trip between .vtt and formats like .sbv or .ass.
Security & safety
RISK: LOWA .vtt is plain text and cannot execute code, so the file itself is safe to open or read. Two minor cautions carried over from subtitle files generally: (1) keep media players updated - historically malformed subtitle parsing has been a (rare) attack surface in some players; (2) captions downloaded from sketchy sites can contain misleading text or links, so read rather than blindly trust. Save as UTF-8 so accented/non-Latin characters display correctly. (Note: a .vtt that is actually a Crestron VisionTools Pro-e project is a different, binary file - not covered by these subtitle cautions.)
Format details
in a nutshell- VisionTools Pro-e Project (Crestron) - Crestron's VisionTools Pro-e AV touch-panel design software saves projects as .vtt; opened only with VisionTools Pro-e - unrelated to subtitles. (This is the name in the source DB, but WebVTT is the far more common meaning.)
- DediProg / misc binary data - A few niche tools have used .vtt for unrelated data; the WebVTT subtitle meaning dominates web search and real-world files.
Programs that open VTT files
Technical details
deep spec| File encoding | UTF-8; a BOM (EF BB BF) is permitted but optional before the WEBVTT header |
| File signature | First line must be the ASCII string `WEBVTT`, optionally followed by a space or tab and a header description |
| MIME type | `text/vtt` |
| Timestamp format | `HH:MM:SS.mmm` using a period as the milliseconds separator (e.g. `00:01:23.456`); the hours field is optional |
| Cue timing syntax | Start and end timestamps separated by ` --> ` with optional cue settings appended on the same line |
| Inline markup tags | `<b>`, `<i>`, `<u>`, `<ruby>/<rt>`, `<v>` (voice), `<lang>`, and CSS class tags `<c.classname>` |
| Cue positioning | Per-cue settings: `line`, `position`, `size`, `align`, and `vertical` for vertical or right-to-left text |
| Named regions | REGION blocks define reusable named screen areas; cues reference them to enable scroll-up-style rendering |
| Track kinds | subtitles, captions, descriptions, chapters, metadata - all use `.vtt` but differ in the `<track kind>` attribute |
| Style blocks | STYLE header blocks apply CSS to cues via the `::cue` pseudo-element and `::cue(<selector>)` variants |
| Comment blocks | NOTE blocks are ignored by renderers and serve as author annotations within the file |
| Cue identifier | Optional string or number preceding the timestamp line; identifiers are not required to be unique |
| HTML5 integration | Loaded natively via `<track src="file.vtt" kind="subtitles">` inside `<video>` in all major browsers without plugins |
| Line endings | Both LF and CRLF are accepted; cue blocks are separated by one or more blank lines |
| Released | WebVTT proposed ~2010 (from SRT); W3C standard for the HTML5 <track> element |
| Open standard | Yes · royalty-free |
| Specification | www.w3.org |
VTT conversions
Community Q&A
asked by usersNo questions yet - be the first to ask about VTT files.