Audio to SRT Subtitles, Free and Private

Turn a recording into a ready to use .srt or .vtt file with real timecodes. Generated on your device, never uploaded.

or
Model

One-time download. Cached in your browser so subsequent runs are instant.

Stays on your device. WebGPU (or WebAssembly fallback) runs Whisper in your browser. No upload, no signup, unlimited use.

Generate a subtitle file with real timecodes, free

A subtitle file is only useful if the timings are honest. Plenty of free generators produce a .srt that looks right in a text editor and then drifts out of sync a few minutes into the video, because the timings were interpolated from the text rather than measured from the audio.

The tool above gets its timings from the model itself. OpenAI's Whisper returns a start and end time for every segment it hears, and those are written directly into the SRT or VTT you download. It runs in your browser on your own hardware, so the media is never uploaded, there is no cap on how much you subtitle, and there is no watermark or attribution line in the output.

How to make an SRT from audio or video

  1. Drop the file above. Audio and video both work, since the audio track is decoded out of a video container locally.
  2. Wait for the transcript to finish building. The timecodes are being captured as it goes.
  3. Choose SubRip subtitles (.srt) in the export picker, or WebVTT (.vtt) if you need the web format, and download.
  4. Import it into your editor or upload it alongside the video. The cues will already be in sync.

Why subtitle at all

The accessibility case is the one that matters most: captions are how deaf and hard of hearing viewers watch anything, and they are not optional in many institutional contexts. The practical case is nearly as strong, since a large share of social video is watched with the sound off, and captions are the difference between a viewer staying and scrolling past.

There is a search argument too. A subtitle track gives platforms real text to index for a medium they otherwise cannot read, which is why the same video with captions tends to surface for more queries than the one without.

Frequently asked questions

What is the difference between SRT and VTT?
They hold the same thing and differ in small details. SRT numbers each cue and separates timecodes with a comma before the milliseconds. VTT starts the file with a WEBVTT header, uses a period instead of a comma, and allows styling and positioning that SRT cannot express. SRT is the safer bet for video editors and YouTube; VTT is the web standard and what a HTML video track element expects.
Are the timings real or estimated?
Real. The model returns a start and end time per segment from the audio itself, which is what makes the cues line up when you drop the file into an editor. That is worth checking in any subtitle generator, because a tool that splits a finished transcript by word count and spaces the timings evenly will drift badly on anything longer than a couple of minutes.
Will the subtitles have a watermark or a branding cue?
No. The file you download is a plain subtitle file and nothing else. No trailing cue advertising the tool, no logo burned into anything, no attribution requirement. It is a text file with timecodes.
How do I add the .srt to my video?
For YouTube, open the video in Studio, go to Subtitles, and upload the file with timing. In Premiere, Final Cut or DaVinci Resolve, import it as a caption or subtitle track and it will land on the timeline already synced. For local playback in VLC, put the .srt next to the video with the same filename and it loads automatically.
Can I edit the cues before exporting?
Names, jargon and acronyms are the usual things worth fixing. In live dictation mode the transcript is a document you can type into directly while it is still running. For an uploaded file, the practical route is to export and then correct in a subtitle editor, which is also where you would adjust cue splits to taste.
Does the audio get uploaded to make the subtitles?
No. Whisper runs inside your browser and writes the timecodes on your own device, so the media never leaves it. This matters more for subtitle work than people expect, because subtitles are usually made from a rough cut that nobody outside the project is supposed to see yet.