.VTT

VTT File

WebVTT - Web Video Text Tracks (Subtitle/Caption File)
Ask a question
QUICK ANSWER

A VTT file is a WebVTT subtitle file - plain text with timecodes that displays captions on HTML5 video. You don't open it alone: place it next to your video and load it in VLC, or attach it to an HTML5 video element with a track tag. To read or edit the text, open it in any text editor or Subtitle Edit.

Developer: W3C / WHATWG (WebVTT standard) Category: Video Files Open standard MIME: text/vtt
OPENS ON Windows macOS Linux Web
Related: .DAV · .MKV · .MP4 · .H264

On this page

19k+ extensions indexed
Last reviewed Jun 14, 2026

Not sure what your file is?

Drop any file into our identifier - we read just the first bytes to name the format.

Identify a file

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: LOW

A .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
FULL NAMEWebVTT - Web Video Text Tracks (Subtitle/Caption File)
DEVELOPERW3C / WHATWG (WebVTT standard)since WebVTT proposed ~2010 (from SRT); W3C standard for the HTML5 <track> element
CATEGORYVideo Files
MIME TYPEtext/vtt
TYPEPlain-text timed subtitles/captions for HTML5 video
STANDARDOpen · royalty-free
This extension is also used by…
  • 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

Windows4 apps
VLC media player Open-source Play the video; if the .vtt shares the video's name and folder it auto-loads, or drag the .vtt onto the VLC window.
Subtitle Edit Open-source Open the .vtt to edit text/timing with a waveform preview, and convert VTT <-> SRT in one click.
Notepad Open-source Open the .vtt as text to read or quickly fix wording/timecodes; save as UTF-8.
Any web browser Free Reference it from an HTML5 <video><track src='captions.vtt' kind='captions'> to see it render on the page.
macOS3 apps
VLC media player Open-source Auto-loads a same-named .vtt, or drag the .vtt onto the playing video.
Subtitle Edit Open-source Cross-platform .NET build edits and re-times WebVTT and converts VTT <-> SRT.
TextEdit / any text editor Built-in Open the .vtt as plain text to read or edit the captions (use plain-text mode).
Linux2 apps
Gnome Subtitles Open-source Open the .vtt to edit text/timing with a synchronized video view; exports SRT/VTT.
VLC / MPV Open-source Auto-loads a same-named .vtt in the folder, or load it via Subtitle > Add Subtitle File.
Web1 app
YouTube Studio Free Upload the .vtt as a subtitle track for your video (Subtitles > Add > Upload file).

Technical details

deep spec
File encodingUTF-8; a BOM (EF BB BF) is permitted but optional before the WEBVTT header
File signatureFirst 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 syntaxStart 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 positioningPer-cue settings: `line`, `position`, `size`, `align`, and `vertical` for vertical or right-to-left text
Named regionsREGION blocks define reusable named screen areas; cues reference them to enable scroll-up-style rendering
Track kindssubtitles, captions, descriptions, chapters, metadata - all use `.vtt` but differ in the `<track kind>` attribute
Style blocksSTYLE header blocks apply CSS to cues via the `::cue` pseudo-element and `::cue(<selector>)` variants
Comment blocksNOTE blocks are ignored by renderers and serve as author annotations within the file
Cue identifierOptional string or number preceding the timestamp line; identifiers are not required to be unique
HTML5 integrationLoaded natively via `<track src="file.vtt" kind="subtitles">` inside `<video>` in all major browsers without plugins
Line endingsBoth LF and CRLF are accepted; cue blocks are separated by one or more blank lines
ReleasedWebVTT proposed ~2010 (from SRT); W3C standard for the HTML5 <track> element
Open standardYes · royalty-free
Specificationwww.w3.org

VTT conversions

Community Q&A

asked by users
Ask a quick question
Get help from people who work with VTT files. Be specific - include your system and software version.
No account needed · answers usually within a day

No questions yet - be the first to ask about VTT files.

Frequently asked questions

How do I open a .vtt file?
To read or edit the captions, open it in any text editor (Notepad++, TextEdit) or Subtitle Edit. To watch it with a video, load it in a player like VLC, or attach it to an HTML5 <video> via a <track> element rather than 'opening' it alone.
What's the difference between VTT and SRT?
WebVTT (.vtt) is the HTML5 web-captions standard; SRT is the older universal format. They're almost identical, but VTT starts with a 'WEBVTT' header and uses a PERIOD in timecodes (00:00:01.000) while SRT uses a comma (00:00:01,000). VTT also supports styling and positioning. Subtitle Edit converts between them instantly.
How do I convert a .vtt to .srt?
Open it in Subtitle Edit (or ffmpeg) and save as SubRip .srt - it removes the WEBVTT header and swaps periods for commas. Many free online converters do the same in the browser.
How do I add a .vtt caption to a video on a website?
Use the HTML5 <track> element: <video><track src='captions.vtt' kind='captions' srclang='en' label='English'></video>. The browser renders the WebVTT captions natively.
My captions are out of sync - how do I fix the timing?
In a player you can nudge subtitle delay during playback; for a permanent fix open the .vtt in Subtitle Edit and apply a time shift or sync to the audio waveform, then save.
Why are there strange characters in my .vtt file?
It's an encoding mismatch - re-save the file as UTF-8 (in Subtitle Edit or Notepad++) so accents and non-Latin scripts display correctly. WebVTT is meant to be UTF-8.

References

1W3C - WebVTT: The Web Video Text Tracks Formatwww.w3.org
2MDN - Web Video Text Tracks Format (WebVTT)developer.mozilla.org

Keep exploring

across the database

Top extensions this week

1.AQQAQQ Instant Messenger File
2.CRDOWNLOADChrome Partial Download File
3.PARTPartial Download File
4.MDMarkdown Document
5.JPGJPEG Image
6.EXEWindows Executable (Portable Executable)
7.BINCD/DVD Disc Image (BIN/CUE)
8.DATProgram Data File (generic)
9.NOMEDIAAndroid No-Media Marker File
10.RPMSGRestricted Permission Message

Related extensions

.DAVDVR365 / Dahua DVR Video File (DHAV stream)
.MKVMatroska Video
.MP4MPEG-4 Part 14 Video File
.H264Raw H.264 / AVC Video Elementary Stream
.VOBDVD Video Object File
.264Raw H.264 / AVC Video Elementary Stream (DVR/CCTV export)

Free file tools

An in-browser file identifier and image converter - everything runs on your device.

Open the toolbox

Browse file extensions A-Z