← all tools / audio & video

Subtitle Generator

Live

Create captions for a video or an audio recording and get a timed SRT or VTT file for YouTube or a web player. No watermark, no signup.

What it does

  • SRT for YouTube and editors, VTT for an HTML5 video player
  • Timed from the speech itself, not a transcript with times pasted on
  • One video or audio file, up to 50 MB and up to 60 minutes long
  • Transcribed by our own faster-whisper worker, not a third-party AI service

Your files

Gone within the hour.

Files are uploaded over HTTPS, used only to run this tool, and deleted from our server automatically about an hour later. Never sold, never used to train anything.

Speech is processed by our self-hosted faster-whisper worker. Your recording is not sent to a third-party AI service.

How to make an SRT file from a video or an MP3

  1. Pick the file

    Drag a video or a sound file onto the box, or click it to browse. The panel beside it shows the file's size and, once your browser has read it, its running time. A recording gets a small audio player so you can check it is the right one, and a format your browser cannot play says Preview is not available for this format, which is not a refusal: the server still reads it. Anything longer than 60 minutes is caught before upload where the browser can read the length, and the Generate button stays switched off with a note giving the file's length against the limit. Where it cannot, the server measures the file itself and refuses it with a message instead.

  2. Set the format and the language

    SRT is selected when the page opens, labelled subtitles.srt, with VTT beside it as subtitles.vtt. Spoken language starts on Auto detect. Below that, Play a sound when ready is already ticked, and the Names or special terms box shows a running count out of 400.

  3. Press Generate SRT subtitles

    The button's label follows the format you picked. A bar fills as the file uploads, with a cancel button under it. If the speech worker is busy you see your place in the queue; once your file starts, the line under the bar reads Preparing audio and then Transcribing, with a percentage and an Estimated ready time that is revised as the job runs.

  4. Check it, then save it

    The finished file opens in a box you can read and scroll, headed with the number of cues it holds. Copy SRT puts the whole file on your clipboard and Download subtitles.srt saves it. Subtitle another file clears the page for the next one. The upload and the subtitle file are removed from our server within about an hour, so save it before you leave.

Frequently asked questions

How do I generate subtitles from a video?

Drop the video or audio file in above, choose SRT or VTT, and press Generate. It is uploaded over HTTPS, transcribed on our server, and comes back as subtitles.srt or subtitles.vtt, which you can read on screen before you save it. A stretch with no speech in it produces no cue at all rather than an empty numbered one, so the cue numbers run unbroken from 1. An hour of video takes a while to caption and you do not have to sit and watch it: Play a sound when ready is ticked from the start, so a short chime tells you the file has arrived. Untick it if you want the page silent. There is no account to make, nothing to install, and no watermark on the file or the text.

What is the difference between SRT and VTT?

They carry the same cues and differ in the details a player cares about. SRT separates the milliseconds in a timecode with a comma (00:00:02,000) and VTT uses a full stop (00:00:02.000), which is the most common reason a subtitle file looks right and loads nowhere. VTT also begins with a WEBVTT line and treats its text as markup, so an ampersand or an angle bracket is escaped there and left exactly as spoken in SRT. One rule they share: a blank line inside a cue is removed before either file is written, because in SRT a blank line is what ends a cue, and one arriving mid-sentence would split that cue in two. The SRT file itself is the plainest form of the format: cues numbered from 1, each timecode written in full with two digits for the hours (00:00:02,400 --> 00:00:03,400), saved as UTF-8 text with no byte order mark, so accented letters and non-Latin scripts in the text are stored exactly as they were recognised. It carries words and timings only, with no italics, colours or screen positions, so the player's own subtitle style decides how they look. Pick SRT for YouTube, Premiere and VLC, and VTT for an HTML5 track element on a web page.

Which files work, and can I make subtitles from an MP3?

Yes. One file per job, up to 50 MB, and up to 60 minutes of running time, and it can be a video or a sound file on its own. MP3, WAV, M4A, M4B, AAC, FLAC, OGG, OGA, Opus, AIFF and WMA recordings are accepted alongside MP4, MOV, M4V, WebM, MKV, AVI, MPEG, OGV, FLV and transport stream video, and a recording is transcribed exactly the way a video's soundtrack is, so the cues come back timed to the recording. There are two checks: your browser looks at the file's type and extension, then the server reads the first four kilobytes and matches the container signature stored there, so a clip whose extension is wrong for the container it actually holds, such as a WebM saved as .mov, is still recognised, and a file the server cannot read as a video or a sound file is turned away before any transcription is attempted. The file also has to actually contain speech: one with none in it is refused with a message rather than handed back as an empty file.

Are the subtitles accurate enough to publish as they are?

Read them first. This is automatic speech recognition, so it hears names, jargon, accents and people talking over each other imperfectly, and we do not publish an accuracy percentage because the honest answer depends entirely on your audio. Two things help: choose the spoken language instead of leaving it on auto detect, and type the names and technical terms your video uses into the box before you start. The language list holds 18 beside Auto detect, and the server accepts exactly the same 18, so the dropdown can never offer you something the worker would then refuse. The terms box takes up to 400 characters and counts them under the box as you type, which makes it a place for the handful of proper nouns a recogniser cannot guess rather than a glossary. Treat the result as a good first draft, not a finished caption track.

Will the timings line up with my video?

Yes. The cues are timed from the same speech pass that produces the words, so nothing is estimated after the fact. They are sorted into order and clamped so that one cue can never overlap the next. A very short cue is stretched towards a full second so it is not gone before it can be read, though the clamp wins where there is no room for it: a 0.2 second line with silence after it becomes a full second, while one whose neighbour starts 0.5 seconds later stays at 0.5. Lines wrap at 42 characters, the width broadcast subtitle guidelines settled on, and a line that lands on exactly two is rebalanced into an even pair rather than left as one full line and a short one. No word is ever cut or dropped to make a line fit: a word longer than the limit keeps its own line.

Is it free, and what happens to my video?

It is free, with 5 speech jobs a day per connection, shared with Video to Text because both tools run the same pass. Busy does not mean turned away: if the speech worker is already occupied your file waits its turn, and the page shows how many are ahead of it and counts them down rather than leaving you at a spinner. Only once ten files are waiting or running between the two tools does the site ask you to come back a little later instead of adding an eleventh. Your file is used only for this one job and deleted from our server automatically about an hour later, along with the subtitle file, so save your download before you close the tab. Speech is transcribed by our own faster-whisper worker running on our server and is never sent to a third-party AI service, sold, or used to train anything.

More Audio & Video tools

all tools