Subtitle Generator — Auto SRT and VTT from Audio or Video
Runs 100% in your browser — your files never leave your device.
Drop in a recording and get timed, ready-to-use subtitles: every spoken phrase becomes a cue with start and end times, exported as SRT or VTT. The Whisper speech model runs entirely in your browser — the file is never uploaded — and the first run downloads it once, after which subtitling works offline. Ideal for lecture captures, podcast clips, and social videos that need captions fast.
How it works
- 1
Add your file
Drop an audio or video file into the box. The file never leaves your device.
- 2
Run the on-device model
Whisper transcribes with timestamps. The first run includes a one-time setup — every run after that starts instantly.
- 3
Pick a format and save
Switch between SRT and VTT, check the cue preview, then copy or download the subtitle file.
About this tool
How the timestamps are produced
The Whisper speech model runs with timestamp prediction enabled: as it transcribes, it also reports when each segment of speech starts and ends. Those segments become subtitle cues — a start time, an end time, and the spoken text. The browser plays the audio, the model aligns the words to it, and a formatter renders the cues as SRT or VTT. No server sees the file at any point.
SRT or VTT — which format to pick
Both are plain-text subtitle formats with the same cue structure; the differences are small but matter to players. SRT (SubRip) is the universal choice: every video player, editor, and most social platforms accept it, and timestamps use a comma before the milliseconds. VTT (WebVTT) is the web standard used by HTML5 video and streaming players, with a dot before the milliseconds and a header line. When in doubt, pick SRT — converting between the two later is trivial.
Using the subtitles with your video
Download the subtitle file and place it next to your video with the same base name (video.mp4 and video.srt) — most players load it automatically. In VLC use Subtitle > Add Subtitle File; in editors like Premiere or DaVinci Resolve, import it as a subtitle track. For HTML5 video, reference it with a <track> element. The cue timings come from the same audio the model heard, so they line up with the original recording.
Accuracy tips and limits
Clear speech at a steady volume produces the best cue boundaries; heavy background music or crosstalk can blur where one phrase ends and the next begins. The model is Whisper tiny, chosen to load fast in the browser — it handles clear English very well and common European languages decently, but dense technical vocabulary may need manual timing tweaks. Cue text is fully editable in any text editor, so fixing a word never means redoing the whole file.
Frequently asked questions
- Is my file uploaded anywhere?
- No. The speech model runs in your browser after a one-time download. Your file is transcribed on your own device and never sent anywhere.
- What is the difference between SRT and VTT?
- Same cue structure, different conventions: SRT uses a comma before milliseconds and is accepted everywhere; VTT uses a dot, carries a WEBVTT header, and is the standard for HTML5 video. When in doubt, pick SRT.
- Can I subtitle a video file, not just audio?
- Yes in most browsers — the audio track is extracted and transcribed. Support depends on your browser's codecs for the container; MP4 and WebM work in current Chrome, Firefox, and Safari.
- Why do the cue times drift on music-heavy audio?
- The model aligns words to the audio it hears; dense background music can blur where phrases start and end. Clean speech gives the tightest timings, and cue text stays editable in any text editor.
- How long can the recording be?
- Practical sessions up to roughly an hour work; transcription runs locally and takes a fraction of the audio length after the one-time setup. Very long files just take proportionally longer.
- Does it work offline?
- After the one-time model setup completes, transcription and subtitle generation work without an internet connection.