Load a subtitle file, fix the text, shift every timecode at once to resync drifted captions, or stretch the timing for a frame-rate change — then download it back.
200 lines per file — runs locally, nothing is uploaded
How It Works
Drop in a .srt or .vtt file, or paste the contents. Every cue is parsed into an editable row.
Edit any line directly. Shift every cue by a fixed offset, or stretch the whole file by a multiplier.
Export back to SRT or VTT with your changes applied.
Captions fail in two distinct ways, and they need two different fixes. A constant offset means every caption is early or late by the same amount — usually because the subtitle was made against a version of the video with a different intro length. The fix is to shift every timecode by one number.
Progressive drift is the nastier one: captions start in sync and get further out as the video goes on. That is almost always a frame-rate mismatch — a 25fps subtitle file played against 23.976fps footage, or the reverse. The fix is to multiply every timecode by a ratio, not add to it.
The third problem is simpler: auto-generated captions get words wrong. Names, jargon, product names and anything said quickly are where speech recognition fails, and there is no automated fix — someone has to read it and correct it.
Why Use This Tool
Every cue is an editable field. Fix a misheard name without opening a text editor and counting line numbers.
One offset applied to every cue — the fix for captions that are uniformly early or late.
Multiply every timecode to correct captions that drift further out as the video plays.
Come in as one format, leave as either.
Parsing and editing are local. No upload, no account, no copy of your file on a server.
Overlapping or reversed timecodes are flagged, because they are the errors that make a player drop cues silently.
If they are off by the same amount throughout, use the shift control with a positive or negative offset. If they start right and drift, use the stretch control — that is a frame-rate mismatch and shifting will not fix it.
The subtitle file was timed against a different frame rate — commonly 25fps against 23.976fps. The error compounds, so it looks fine at the start and is seconds out by the end. Stretching by the frame-rate ratio corrects it.
Yes. Every cue's text is directly editable, which is the fastest way to clean up the words auto-captioning got wrong.
No. The file is parsed and edited in your browser and never sent anywhere.
200 cues per file on the free tier, which covers most single videos.
Yes, and you can export to either format regardless of which you started with.
Every minute spent in a subtitle editor is a minute paying for an inaccurate first pass. ShortsHero times captions word by word against the source audio, so the pass you get is the one you publish.
See word-level captionsFree to start · No credit card required
Keep Going
Convert SRT to VTT, VTT to SRT, or either to plain text — instantly, in your browser. Timings are preserved exactly. Free, unlimited, nothing uploaded.
Generate subtitles automatically from any video. Get burned-in captions or a downloadable SRT file with accurate word-level timing — free, no signup required.
Translate SRT and VTT subtitle files into 90+ languages with every timecode preserved. Upload, pick a language, download a ready-to-use subtitle file.
Convert video to text free. Upload an MP4 and get an accurate, timestamped transcript with speaker labels where detectable. Download as TXT or SRT.
Load a subtitle file to start
.srt or .vtt — parsed in your browser, never uploaded.
Up to 200 cues per file on the free tier. Nothing is uploaded — the file is read by your browser.