Narrate — MP3 → Synced Captions → Video

transcribe · sync · render — entirely in this browser tab, nothing uploaded
1 Load audio
2 Transcribe → WebVTT
3 Style & render video

1 · Load your MP3

Drop an audio file in, or click to browse. It stays on this device — transcription runs locally, nothing is sent anywhere.

🎧
Click or drop an MP3 / audio file here
MP3, WAV, M4A supported

2 · Transcribe into WebVTT

Runs OpenAI's Whisper model right in this tab (first run downloads and caches the model — a one-time wait). Audio is auto-normalized and trimmed of dead silence before transcribing. Review and correct the text below before rendering — a bigger model, beam search, and the dictionary below all help, but a human pass still catches the rest.

Auto-correct dictionary (optional)

Whisper will mishear names and jargon consistently — fix them once here instead of every transcript. One per line: misheard text => correct text.

No captions yet — transcribe the audio, or add a line by hand.

3 · Style & render the video

Captions are drawn in sync with the audio's own clock, then the whole thing is recorded into a downloadable video file.

Recording format depends on what your browser supports — this tool prefers MP4 and falls back to WebM automatically. WebM plays everywhere in-browser and on most platforms; convert to MP4 afterward if a specific tool requires it.