What is MIME type "text/vtt"?
A MIME type is a string that tells browsers and other tools how to handle a particular kind of file.
text/vtt is the MIME type for files in the Web Video Text Tracks format. It holds timed text cues used in video playback. Files like VTT add captions and subtitles to online videos.The format embeds time codes that sync text with video frames. It is plain text and easy to edit. Modern browsers support it through HTML5’s track element.
- Displays subtitles and captions during video playback
- Synchronizes text using time codes
- Supports styling for improved readability
- Provides metadata such as chapter markers
For more details, see the WebVTT specification.
Associated file extensions
Usage Examples
HTTP Header
When serving content with this MIME type, set the Content-Type header:
Content-Type: text/vtt
HTML
In HTML, you can specify the MIME type in various elements:
<a href="file.dat" type="text/vtt">Download file</a>
Server-side (Node.js)
Setting the Content-Type header in Node.js:
const http = require('http');
http.createServer((req, res) => {
res.setHeader('Content-Type', 'text/vtt');
res.end('Content here');
}).listen(3000);
Associated file extensions
FAQs
How do I configure my web server to serve text/vtt files?
To ensure browsers correctly parse subtitles, you must associate the .vtt extension with the text/vtt MIME type. For Apache, add AddType text/vtt .vtt to your .htaccess file. For Nginx, add text/vtt vtt; to your mime.types configuration.
Why are my VTT subtitles not loading in the browser?
The most common issues are incorrect MIME type headers or Cross-Origin Resource Sharing (CORS) errors. If your VTT file is hosted on a different domain or CDN than the video, the server must send the Access-Control-Allow-Origin header to allow the video player to access the text track.
What is the difference between text/vtt and SRT?
While both are plain text formats, WebVTT (text/vtt) is the standard specifically designed for HTML5 video and supports extra features like CSS styling and positioning. SRT is an older format common in desktop players; browsers require WebVTT for the <track> element, though some players can convert SRT on the fly.
How do I add a text/vtt file to an HTML5 video?
You should use the <track> element nested within your <video> tag. For example: <track kind="subtitles" src="subtitles.vtt" srclang="en" label="English">. Ensure the file strictly follows the WebVTT format, starting with the header WEBVTT.
Does text/vtt support styling and colors?
Yes, unlike basic subtitle formats, text/vtt supports styling via CSS. You can target specific text cues using the ::cue pseudo-element in your stylesheets to adjust font properties, colors, and backgrounds directly in the browser.
Which browsers support the text/vtt MIME type?
Modern browsers have excellent support for text/vtt. Chrome, Firefox, Edge, and Safari all natively support parsing VTT files via the HTML5 <track> element. Internet Explorer 10 and above also support it, making it the universal standard for web video captions.
What character encoding should I use for VTT files?
You must save text/vtt files using UTF-8 encoding. If a file is saved in a different encoding (like ANSI or ISO-8859-1), special characters may break, or the browser may fail to load the captions entirely.
General FAQ
What is a MIME type?
A MIME (Multipurpose Internet Mail Extensions) type is a standard that indicates the nature and format of a document, file, or assortment of bytes. MIME types are defined and standardized in IETF's RFC 6838.
MIME types are important because they help browsers and servers understand how to process a file. When a browser receives a file from a server, it uses the MIME type to determine how to display or handle the content, whether it's an image to display, a PDF to open in a viewer, or a video to play.
MIME types consist of a type and a subtype, separated by a slash (e.g., text/html, image/jpeg, application/pdf). Some MIME types also include optional parameters.
How do I find the MIME type for a file?
You can check the file extension or use a file identification tool such as file --mime-type on the command line. Many programming languages also provide libraries to detect MIME types.
Why are multiple MIME types listed for one extension?
Different applications and historical conventions may use alternative MIME identifiers for the same kind of file. Showing them all helps ensure compatibility across systems.