Make an SRT subtitle file from a video

Generate timed subtitles from the speech in a video and download them as a standard .srt file. The recognition runs inside your browser, so the video never leaves your device.

Short answer: open the editor, drop the video in, choose Generate captions, fix anything the recogniser got wrong, then export .srt. A speech model downloads once (about 45 MB) and then runs locally. No upload, no account, no watermark.

Open the editor

What an SRT file actually is

SubRip Subtitle (.srt) is the plainest subtitle format there is, which is exactly why everything reads it. It is a text file of numbered blocks:

1
00:00:02,400 --> 00:00:05,100
So the first thing to understand

2
00:00:05,100 --> 00:00:08,720
is that none of this touches a server.

A counter, a start and end timestamp separated by -->, the line of text, and a blank line between blocks. Timestamps are hours:minutes:seconds,milliseconds — note the comma before the milliseconds, which is the detail people most often get wrong when hand-editing one.

Because it is just text, you can open an SRT in any text editor and fix a typo without special software.

Where SRT files are used

Subtitle track or burned in?

An SRT is a separate file, so viewers can switch it off, the text stays selectable, and you can fix a mistake later without re-encoding the video. The catch is that it only works where the player supports subtitle tracks — hand someone the video on its own and the subtitles are gone.

Burning the captions into the picture solves that: they are pixels, so they survive anywhere, which is why social video almost always uses them. The cost is that they are permanent and cannot be turned off or corrected. Burn subtitles into a video does that step, and it will take the SRT you make here.

Fixing the timing

Two problems come up often enough to be worth naming. If the whole file is offset — every line early or late by the same amount — the subtitles were made against a different cut of the video, and shifting all the timestamps by that offset fixes it. If the drift grows as the video plays, the frame rates do not match; converting a variable frame rate video to constant is usually the real fix, because variable frame rate footage is what causes that class of drift in the first place.

The honest limits

FAQ

Is the video uploaded to make the subtitles?

No. The speech model runs inside your browser, on your own machine. The only thing downloaded is the model itself; your video is never sent anywhere.

What languages work?

English only. The models used are the English-only Whisper builds, so other languages will not transcribe correctly.

Can I edit the subtitles before exporting?

Yes, and you should. The caption panel in the editor lets you correct the text and adjust timings, and clicking a line jumps the playhead to it so you can check it against the audio.

What is the difference between SRT and VTT?

WebVTT is the format browsers use for HTML5 video. It is very close to SRT — the main differences are a WEBVTT header line and a full stop instead of a comma before the milliseconds.

My subtitles are out of sync. What went wrong?

If everything is off by the same amount, the SRT was made against a different edit of the video — shift all the timestamps by that difference. If the gap grows as the video plays, the frame rate is the problem; see VFR to CFR.

Can I burn the subtitles into the video instead?

Yes. Burn subtitles into a video takes an SRT and draws it into the picture, which is what you want for platforms that ignore subtitle tracks.

Is there a watermark or a length limit?

No watermark, no account, and no fixed length limit — the practical ceiling is your browser's memory.

Related tools