Launching 10 Sep

--d --h --m --s
WebVTT Export

Free VTT Creator

Generate a WebVTT caption file from any video, free. Upload the file, review the timed cues and download a valid .vtt.

Built for web video: the export carries the WEBVTT header, correct millisecond formatting, UTF-8 encoding and optional positioning cues, so it drops straight into an HTML5 track element or a learning platform.

  • Valid WebVTT output
  • Positioning cues
  • UTF-8 encoded
  • Free

Launching 10 September 2026. Join the waitlist for early access.

No spam. One email when we launch, and you can unsubscribe any time.

What the VTT creator handles

WebVTT is stricter than SRT and carries more information. Both of those are handled for you.

Valid by construction

WEBVTT header present, timecodes as HH:MM:SS.mmm with a full stop, a blank line between cues, UTF-8 throughout. Browsers reject malformed VTT silently, so validity is the whole game.

Positioning and alignment cues

Set a cue to sit higher in the frame or align left, which is how you keep captions off a burned-in lower third or a persistent player control bar.

Cue-level editing

Retime, split and merge individual cues. Word-level timing underneath keeps everything after the edit in sync.

Multilingual tracks

Export a separate .vtt per language and attach them all with their own srclang, so the browser offers a real language menu.

Works with the players you use

Video.js, JW Player, Plyr, Wistia and plain HTML5 video all read the same file. So do Moodle, Canvas and Kaltura.

SRT from the same transcript

Need SubRip as well for YouTube or an editor? Export it from the same project without transcribing twice.

How to create a WebVTT file

Upload, review the cues, download a valid .vtt.

  1. 1

    Upload your video or audio

    Drop in a video file or an audio-only recording. The VTT creator works from the audio track, so either is fine.

  2. 2

    Review the cues

    The transcript is split into timed cues. Adjust the text, retime a cue, or set its alignment and vertical position so it clears the player controls.

  3. 3

    Download the .vtt

    Export a valid WebVTT file with the WEBVTT header, full-stop millisecond separators and UTF-8 encoding, ready to attach with a track element.

VTT or SRT: which file do you need?

Both formats describe the same thing — blocks of text with a start and end time — and for a simple caption track they are close to interchangeable. The differences show up at the edges, and those edges decide which one to hand over.

Use WebVTT when the video plays in a browser you control. It is the format the HTML5 track element was designed around, it carries positioning and styling information that SRT cannot express, and it supports chapter and metadata tracks alongside captions. Self-hosted video, a course platform, a documentation site with embedded demos: all VTT.

Use SRT when you are handing the file to someone else. It is the more universally accepted of the two, it is what editing software imports cleanly, and it is what a translator or an agency will expect if they just ask for "the subtitles". YouTube takes both, so either works there.

The practical answer is usually to export both. They come from one transcript, so the second file costs nothing.

Attaching a VTT file to your video

Most problems with WebVTT are not problems with the captions. They are delivery problems, and they fail quietly — the browser simply shows no captions and logs nothing obvious.

  • Use the track element

    Nest a track element inside your video element with kind="captions", the srclang set to the language code and a human-readable label. Add default if captions should be on from the start.

  • Serve it as text/vtt

    If your server sends the file as text/plain or application/octet-stream, browsers will not parse it. This is the most common silent failure.

  • Mind the origin

    A .vtt loaded from a different domain than the page needs CORS headers and crossorigin on the video element. Same-origin files avoid the issue entirely.

  • One file per language

    Add a separate track element for each language rather than combining them. The browser builds its captions menu from those entries.

Frequently Asked Questions

WebVTT specifics, and why a valid file sometimes still shows nothing.

What is a VTT file?

WebVTT (.vtt) is the caption format built for the web. It opens with a WEBVTT header line, then lists cues with start and end times and their text. Unlike SRT it can carry positioning, alignment and styling information, and it is the format the HTML5 video track element expects.

What is the difference between VTT and SRT?

They describe the same thing but differ in detail. VTT uses a full stop before milliseconds where SRT uses a comma, requires a WEBVTT header, allows named cues, comments, styling and positioning, and supports chapter and metadata tracks. SRT is simpler and more universally accepted; VTT is what web players and most learning platforms want.

How do I add a VTT file to an HTML5 video?

Put a track element inside your video element pointing at the file, with kind set to captions and the srclang and label attributes filled in. Serve the .vtt with the text/vtt content type, and from the same origin or with CORS headers set, or the browser will refuse to load it.

Can I edit cue timings and positions before exporting?

Yes. Every cue can be retimed, split or merged, and you can set alignment and vertical position so captions avoid burned-in lower thirds or a player control bar.

Which platforms accept WebVTT?

Every modern browser through the HTML5 track element, plus YouTube, Vimeo, Wistia, JW Player, Video.js, and learning platforms including Moodle, Canvas and Kaltura. It is the safest choice for video you host yourself.

Is the VTT creator free?

Yes. Transcription, cue editing and .vtt export are all free, with no watermark, no export cap and no account needed.

Can I edit my captions before exporting?

Yes. Correct the transcript, adjust timings, choose a caption style and then export the finished video or a clean SRT or VTT file.

When does Caption Maker launch?

Caption Maker launches on 10 September 2026. Join the waitlist to be notified when editing and exports open.

Export your first WebVTT file free

Caption Maker launches on 10 September 2026. Join the waitlist and generate caption files from day one.

No spam. One email when we launch, and you can unsubscribe any time.

  • No Credit Card Required
  • GDPR Compliant
  • Secure Upload