Generate WebVTT subtitles — the W3C standard for web video

Properly formatted VTT files with dot timestamp separators, WEBVTT header, and cue structure that works with HTML5 <track> elements, HLS streams, and every modern browser.

Trascina il file qui o clicca per sfogliare

.mp3, .wav, .m4a, .aac, .ogg, .flac, .mp4, .mov, .avi, .mkv, .webm·fino a 500MB

WebVTT: the subtitle format the web actually uses

WebVTT (Web Video Text Tracks) is the W3C standard for subtitles in HTML5 video. Unlike SRT, VTT supports CSS styling via the ::cue pseudo-element, cue positioning and alignment settings, NOTE comment blocks, and chapter markers. It's the mandatory subtitle format for HLS (HTTP Live Streaming) — if you're streaming video, you need VTT, not SRT. Vocova generates spec-compliant WebVTT files from any audio or video source.

Come funziona

1

Upload any audio or video file

Drag and drop any media file. We accept all major formats and extract the speech for subtitle generation.

  • All audio: MP3, WAV, M4A, AAC, OGG, FLAC, WMA
  • All video: MP4, MOV, AVI, MKV, WebM, WMV
  • Files up to 500 MB supported
2

AI transcribes and formats as VTT

Speech is transcribed and segmented into WebVTT cues with proper timing, the mandatory WEBVTT header, and dot-separated timestamps per the W3C specification.

  • WEBVTT header with optional metadata region
  • Dot-separated milliseconds (HH:MM:SS.mmm)
  • Cues segmented for natural reading flow
3

Review and download your VTT file

Preview each cue, edit text if needed, and download the VTT file ready for HTML5 video players, HLS streams, or web platforms.

  • Edit cue text before export
  • W3C-compliant structure throughout
  • UTF-8 encoded for all languages

Funzionalità

CSS ::cue styling support

WebVTT subtitles can be styled with CSS using the ::cue pseudo-element. Change font, color, size, background, and opacity. You can also use ::cue(b), ::cue(i), and voice selectors for per-element styling. This is the key advantage over SRT, which has no standard styling mechanism.

Cue positioning and alignment

VTT cues support settings for position, alignment, size, and line placement. Put speaker identification subtitles at the top of the screen, place descriptions on the left, or center standard dialogue. These positioning controls are part of the VTT spec, not a hack.

NOTE blocks for metadata

WebVTT supports NOTE comment blocks — metadata visible in the file but not displayed on screen. Use them for translator notes, context for editors, language information, or version tracking. SRT has no equivalent feature.

HLS streaming mandatory format

Apple's HLS specification requires WebVTT for subtitles — SRT is not supported in HLS manifests. If you're delivering video via HLS (which includes most iOS video, Apple TV, and many CDNs), you must use VTT. Our files are ready for HLS integration.

Correct MIME type handling

VTT files must be served with the MIME type text/vtt. Many web servers default to text/plain for .vtt files, which causes browsers to reject them as subtitle tracks. We note this in our output so you know to configure your server correctly — a common gotcha that breaks subtitles silently.

Perché scegliere Vocova

Add captions to HTML5 video

Use the <track> element inside your <video> tag to add captions natively. WebVTT is the only subtitle format supported by the HTML5 <track> element — SRT does not work here. One line of HTML and your video has captions.

Subtitle HLS video streams

HLS mandates WebVTT for subtitles. If you're using AWS MediaConvert, Cloudflare Stream, Mux, or any HLS pipeline, you need VTT files. Generate them from your source media and include them in your HLS manifest.

Style subtitles with your brand's CSS

Use the ::cue pseudo-element to style WebVTT subtitles with your brand's fonts, colors, and background treatment. Remove the default black background box, change text color, adjust font size — all through standard CSS.

Meet web accessibility standards

WCAG 2.1 recommends WebVTT for web video captions. Generate VTT files from your video content to meet WCAG Level A (captions for pre-recorded media) and Level AA requirements.

Chi può trarne vantaggio

Sviluppatori web

Add WebVTT tracks to HTML5 video players on your sites. Use the <track> element with kind='captions' or kind='subtitles'. Style with CSS ::cue for a native-looking caption experience.

Streaming infrastructure engineers

Generate VTT files for HLS and DASH subtitle tracks. Segment VTT files for adaptive bitrate manifests. WebVTT is the only subtitle format HLS supports natively.

E-learning platform developers

Add captions to course videos in LMS platforms. Most modern LMS systems (Canvas, Moodle, Blackboard) use HTML5 video and expect WebVTT for caption tracks.

Content creators publishing to web

Generate VTT subtitle files for videos embedded on your blog, portfolio, or media site. WebVTT works in every modern browser without plugins or JavaScript libraries.

Domande frequenti

Which browsers support WebVTT ::cue styling?

Chrome, Edge, Safari, and Firefox all support basic ::cue styling (font, color, background, opacity). Chrome and Edge have the broadest support for advanced features like ::cue(v[voice='Speaker']), positioning, and per-element styling. Firefox and Safari support the core styling properties but have some limitations with voice selectors and positioning. Test your specific styling in target browsers.

What are NOTE and chapter markers in VTT?

NOTE blocks are comment sections that appear in the file but are never displayed on screen. Use them for translator instructions, version info, or context. Chapter markers are cues with kind='chapters' that define named sections of the video — browsers can display these as a chapter navigation UI. Both are VTT-exclusive features that SRT cannot replicate.

Why does HLS require VTT and not SRT?

Apple's HLS specification (RFC 8216) mandates WebVTT for subtitle tracks. The technical reason is that VTT was designed for web delivery from the start — it's a W3C web standard, while SRT is a desktop format from the DVD-ripping era. HLS manifests reference VTT segment files, and iOS/Safari only parse VTT for <track> elements. If you try to use SRT in an HLS manifest, it will be silently ignored.

How do I remove the default black background box behind subtitles?

The black background is added by the browser's default subtitle styling. Override it with CSS: '::cue { background-color: transparent; text-shadow: 2px 2px 4px rgba(0,0,0,0.8); }'. The text-shadow replaces the background box with a subtle shadow that keeps text readable over any video content. Note: this styling approach works in Chrome and Edge; Safari requires different handling.

My VTT file works locally but not on my server. Why?

Almost certainly a MIME type issue. VTT files must be served with the Content-Type 'text/vtt'. Many web servers serve .vtt files as 'text/plain' by default, and browsers silently reject them as subtitle tracks. Fix it in your server config: for Nginx add 'types { text/vtt vtt; }', for Apache add 'AddType text/vtt .vtt', or set the Content-Type header in your CDN configuration.

What's the technical difference between VTT and SRT?

Beyond the obvious (VTT uses dots in timestamps, SRT uses commas): VTT has a mandatory 'WEBVTT' header, supports CSS styling via ::cue, allows cue positioning/alignment settings, includes NOTE comment blocks, supports voice tags (<v Speaker>), and can define regions for subtitle placement. SRT has none of these features. VTT is a web standard (W3C); SRT is an informal format with no official specification.

Can I use VTT files with desktop video editors like Premiere Pro?

Most desktop editors import VTT files, though support varies. Premiere Pro and DaVinci Resolve handle VTT import well. Final Cut Pro prefers SRT but can work with VTT. If your workflow is primarily desktop editing, SRT may be more universally supported. If your workflow involves web delivery, HLS, or HTML5 video, VTT is the correct choice.

Inizia a trascrivere gratuitamente

Carica un file o incolla un link da YouTube, podcast, cloud storage e oltre 1.000 piattaforme. Ottieni una trascrizione accurata in pochi minuti. Nessuna carta di credito richiesta.