Your file never leaves your browser. Everything runs locally; nothing is uploaded, no cookies, no account.
Times below zero are held at 00:00:00,000.
Enter the correct start time of the first and last cue; everything in between is stretched or compressed.
| # | Start | End | Text | CPS |
|---|
Red CPS: above 17 characters per second. Yellow text: a line longer than 42 characters. Click a row to select it.
Uses your browser's built-in text-to-speech. Voices depend on your device.
Want the whole YouTube video dubbed in your language? DubbingMate reads translated subtitles aloud in sync — one-time purchase.
Get DubbingMateLoad your file, type an offset in the Shift box (positive moves subtitles later, negative earlier), pick a starting cue if only part of the file is off, then press Apply shift and download the result.
If every line is off by the same amount, use Shift. If the gap grows or shrinks as the video plays (often a frame rate mismatch such as 23.976 vs 25 fps), use Sync by two points with the correct start of the first and last cue.
Characters per second: the length of a cue's text divided by how long it is on screen. Many subtitle guidelines aim for about 17 or lower so the text stays readable.
No. Reading, editing and downloading all happen in this page. The file is not sent to any server.
Want the whole YouTube video dubbed in your language? DubbingMate reads translated subtitles aloud in sync — one-time purchase.
Get DubbingMate