Create SRT or VTT subtitles

Subtitle Studio uses Whisper to transcribe English audio or video in your browser. The result is editable timed text that you can export separately from the media.

Open Subtitle Studio
  1. Use the finished clip

    Trim the video before transcribing it. Caption times refer to that version of the clip; cutting the video afterward can put them out of sync.

  2. Choose a model and transcribe

    Open the media and select a Whisper model. Smaller models start faster and need less memory. The first use downloads the selected model; the media is processed on your device.

  3. Correct words and caption breaks

    Listen while reading the captions. Check names, numbers and quiet or overlapping speech. Edit text, split or merge rows, and adjust times against the player.

  4. Export the caption file

    Choose SRT or WebVTT as required by the destination. Test the file with the same video in the player or editor where it will be used.

These captions are a separate file

Exporting SRT or VTT does not burn words into the video image. For permanently visible captions, import the file into an editor that supports that operation.

SRT or WebVTT?

An SRT cue looks like the example below. Both times belong to the same version of the media.

FormatWhat to expect
SRTNumbered cues with comma-separated milliseconds. A common exchange format for editing and uploads.
WebVTTStarts with WEBVTT and uses a dot before milliseconds. Choose it when the destination requests .vtt.
TXTReadable words without caption times. Useful for reviewing a transcript rather than synchronizing captions.
JSONStructured caption data for a workflow that can interpret it.
1
00:00:12,500 --> 00:00:15,000
Keep the original recording.

Fixing offset and drift

Every caption appears two seconds late
Shift all by −2000 milliseconds to move captions earlier. Positive values move them later.
The beginning aligns, but the gap grows
With the beginning aligned, progressively late captions need a factor below 1; progressively early captions need one above 1. Scale by multiplies both timestamps: 1.02 moves 100 seconds to 102 seconds. Recheck both ends.
The video was cut or rearranged after transcription
Generate captions for the final edit; one global shift cannot repair different cuts.

Splitting a long caption

Put the text cursor where a caption should divide and use Split. Merge joins a caption with the following one. Re-wrap at controls line wrapping; the default aims at 42 characters and two lines. Read the result with the video: a tidy line break still needs enough display time, and a name or short phrase should stay together when possible.

Video, subtitle and recording tools