Generate WebVTT Subtitles

Use this VTT generator to turn audio or video into a caption track for your website or course. Review timing and text here, then download WebVTT. Cloud transcription uses account credits.

Audio or video → timed captions → .vtt
My recordsCloud processing · up to 1 GB / 60 minutes. Final usage is verified by the server.Available: 0 min

Sign in to create a saved task. If your file is unavailable after signing in, select it again.

Upload audio or video
Estimated cost: 0 min

Free minutes are included. Upload a file or record audio to start.

Sign in to submit. Check your balance and estimated cost before starting. See plans and usage limits. Files are uploaded for cloud processing; this is not an offline converter.

A caption file for the web

What does a VTT generator produce?

A WebVTT generator creates a UTF-8 text file containing caption text and its start and end times. Your web player loads that file as a separate text track.

WhisperWeb starts from recorded speech, generates timed cues, and lets you correct their wording and timing. The downloaded .vtt contains the saved cues with a WEBVTT header and dot-separated milliseconds. Keep it beside the matching media so viewers can turn captions on or off.

This format works with the HTML <track> element. WebVTT also defines advanced positioning and styling, but this tool exports basic timed captions, not a styled video. See the MDN WebVTT reference.

Try the actual files

Use WebVTT with a Web Video Player

Play this seven-second practice clip with its real VTT track. Both files are public and downloadable; no account or credits are needed to inspect the example.

Original practice script with synthetic narration and manually aligned cues, not an accuracy benchmark. The neutral video background keeps the native captions easy to inspect. Your own recording will need its own timing review.

Inside the caption file

WEBVTT

00:00:00.000 --> 00:00:03.000
Welcome to the field recording course.

00:00:03.000 --> 00:00:07.000
Listen first, then check each caption against the audio.

Times are seconds from the beginning of the media, not the time of day. Each end must follow its start. Review pauses and reading time before publishing.

Minimal HTML example

<video controls src="/samples/vtt-generator/course.mp4">
  <track kind="captions" src="/samples/vtt-generator/course.vtt"
    srclang="en" label="English" default>
</video>

This snippet runs on this site using the files above. For your site, download both files and serve them at these paths, or change the URLs. Serve captions as text/vtt over HTTP(S). Use matching language labels, enable captions in the player, and configure CORS if the media or track lives on another origin. Opening a file directly from disk may not behave like a hosted page.

How to create VTT subtitles

Keep the source, caption corrections, and download together on this page.

  1. 1

    Upload your recording

    Choose an audio or video file you may process. Select the spoken language when known, review the estimated usage, and sign in to generate WebVTT. If sign-in cannot retain the file, select it again.

  2. 2

    Review the cues

    Listen to the source playback while checking the subtitle text and start/end seconds. Correct names, technical terms, and cut-off sentences. Save subtitles before exporting; a conflicting edit asks you to review the server version.

  3. 3

    Download and test

    Download VTT from the saved task, then load it in the destination player. Refresh or reopen the task from Recordings to continue from the saved cue revision. Saving captions and downloading again do not run another base transcription.

From a recording to a lesson

Captions that travel with your course

Field recording lesson showing a microphone outdoors with a readable caption at the bottom

Keep the words readable

Course authors can supply a selectable text track alongside the lesson. Product teams can caption a narrated walkthrough without re-encoding the video each time a term changes. Match the final cut first: trimming the media later can shift every cue.

AI-generated use-case illustration, not an actual customer result. WhisperWeb creates the subtitle file; the destination player controls its appearance. The runnable practice sample above is separate.

WhisperWeb vs Happy Scribe vs Otter

Compare the deliverable you need before choosing a paid workflow. Public documentation checked September 10, 2026; plan entitlements may change.

Subtitle workflow comparison, checked September 10, 2026
DecisionWhisperWebHappy ScribeOtter
Caption outputVTT here; SRT on the dedicated SRT page.Documents SRT, VTT, and STL subtitle exports.Documents SRT export; VTT is not listed in its export guide.
Review workflowEdit cue text and seconds, save, then download on this page.Subtitle editor with waveform timing, styling, and collaboration.Export a conversation transcript with subtitle timestamps.
Commercial considerationCloud processing uses account credits. Inspect your estimate and current plan before submitting.Trial and paid plans; check the required subtitle features before purchase.Basic text export is TXT only; additional formats require a paid plan.

Sources: Happy Scribe subtitle generator and Otter export documentation. WhisperWeb details reflect the tool on this page and our plans and usage limits.

Choose WhisperWeb for a focused recording-to-WebVTT job with saved cue corrections. Happy Scribe may suit teams needing a richer subtitle styling and collaboration workflow. Otter may suit an existing conversation workflow when SRT is an acceptable handoff; confirm a conversion step if your destination requires VTT.

Supported files and plan limits

Upload speech in supported audio or video formats, including MP3, WAV, M4A, MP4, MOV, and WebM. The upload picker lists the complete accepted extensions. A recognized extension alone does not guarantee a decodable audio stream; silent footage cannot yield spoken captions.

The shared cloud service accepts up to 1 GB and 60 minutes per file, subject to account eligibility and available credits. The server verifies usage and limits. A free allowance is finite; longer work may require a paid plan or additional credits. Transcription uploads your media for processing and is not fully local.

Noisy speech, overlapping voices, accents, and specialist vocabulary can require substantial correction. Add meaningful sound descriptions yourself when the captions need them. Generating a file does not by itself establish accessibility compliance or compatibility with every course platform.

Frequently asked questions

How is VTT different from SRT?

WebVTT starts with WEBVTT and uses dot milliseconds such as 00:00:03.250. SRT typically numbers cues and uses comma milliseconds such as 00:00:03,250. HTML video tracks use WebVTT; many editing workflows request SRT. Use the SRT Subtitle Generator for that deliverable. Renaming a file does not convert its syntax.

Which player settings should I check?

Confirm the caption URL returns the VTT file, not a login page or HTML error. Check text/vtt delivery, cross-origin permissions, language and label values, and the captions menu. Verify the first and last cue against the exact published video, especially after cuts or added intros.

Can I edit and reopen the captions?

Yes. Edit the cue text and start/end seconds, then save subtitles. Downloads use the saved cue revision; unsaved edits must be saved first. The same task appears in Recordings and its task URL reopens this page. This is a current saved revision, not a promise of an undo archive of all earlier cue sets.

Does this add permanent subtitles to my video?

No. You download a separate .vtt text track. Your player or publishing platform combines it with the media at playback time; this tool does not burn captions into video.

Is this free, and who can access my recording?

Inspect your available credits before submitting; cloud processing is metered under your plan. Saved task reads, edits, and exports require the owning account. The public sample is accessible to everyone, but a private task URL does not grant another account access.

What if processing or saving fails?

Keep the task URL and reopen it to check the server status before starting another job. A failed save leaves the last saved captions available. Correct invalid timing or resolve a revision conflict before trying the save again; do not start a second transcription just to fix cue text.