Video to text: transcribe a video and get subtitles, no upload

Pick a video file and this page writes down what is said and builds an .srt subtitle file from it. The video is read inside this browser tab and never sent anywhere. There is no account and no watermark.

Checking what your browser supports...

Example
A wooden workbench with a door hinge on it Welcome back to the workshop.
00:00:01,200 → 00:00:04,000Welcome back to the workshop.
00:00:04,300 → 00:00:07,100Today we fit the new door hinge.
00:00:07,400 → 00:00:10,200Make sure the hinge is lined up.

Which videos work

MP4, MOV, MKV and WEBM files are accepted, and so is audio-only media. The page doesn't look at the picture at all. It pulls out the audio track and gives only that to Whisper, which is why a screen recording and a feature film go through the same way. A video with no sound track stops with a message saying so.

In Chrome and Edge, a video of several GB works on a computer, because the file is read in small pieces. Browsers that can't read a file in pieces stop at 1 GB on a computer and 200 MB on a phone. If your browser refuses a file, save just its audio as an MP3 first, or cut the video into parts, and load that.

There's no field for a YouTube or other web address. Download or record the video first, then pick the file.

Getting an SRT file for the video

  1. Pick the video. The first time, your browser downloads the speech model and keeps it, so later files start straight away.
  2. When the status line says Done, click SRT. On this page it is the first download button. The file is named after your video, with .srt in place of the video extension.
  3. Put the .srt in the same folder as the video. Many players pick up a subtitle file with a matching name by themselves. Otherwise load it by hand, for example from VLC's subtitle menu. Video editors can import SRT as a caption track.

Choose VTT instead if the subtitles are for a web page. It is the format the HTML video player reads.

What per-segment timing means

Whisper cuts speech into segments and gives each one a start and an end time. Every segment becomes one subtitle cue. The page doesn't time individual words. So a cue appears when its segment starts and stays until the segment ends, however long that is, and a word near the end of a long cue shows up earlier than it is spoken. For normal subtitles that is fine. For karaoke-style highlighting of each word, it is not precise enough.

Edits you make in the text box change the copied text and the TXT file. The SRT and VTT files are built from Whisper's own segments, so if a cue needs fixing, open the downloaded file in a text editor and change the line there.

Before you start a long video

More ways to use it