Subtitle Editor (SRT · VTT)
Shift a subtitle file’s timing, stretch it to match a video’s frame rate, or fix everything by matching just two scenes. Also converts SRT ↔ VTT, wraps lines, strips tags and flags overlaps and subtitles that flash by too fast. Files are never uploaded.
Subtitle files and text are never uploaded. Everything is processed in this browser only.
Tools
Shift timing
Moves every subtitle by the same amount. If subtitles appear late use a negative (−) number of seconds; if early, a positive (+) one.
Match the frame rate
For subtitles that start in sync but drift further apart as the video goes on. Pick the fps the subtitles were made for → the fps of your video.
Match two scenes
Give the times at which two lines you checked in the video should really appear and the shift and speed are worked out together. Pick one line near the start and one near the end.
Clean up
Find & replace
Matches the text exactly (not a regular expression, case-sensitive) in every subtitle.
Check & preview
Result
Files are always saved as UTF-8 (browsers cannot write EUC-KR). If an old player shows garbled text, try the BOM option. The file name follows the file you opened.
FAQ
My subtitles always appear late. How far should I shift them?
Measure the gap between when a line is spoken and when its subtitle appears and enter it in “Shift timing”. If they match at the start but drift apart later, you need “Match the frame rate” or “Match two scenes” instead of a shift.
The text looks garbled.
Open the file again with the encoding set to EUC-KR. Auto-detect reads anything that is not valid UTF-8 as EUC-KR. Pasted text is already text, so encoding does not apply.
What is the difference between SRT and VTT?
SRT numbers each cue and uses a comma before the milliseconds; VTT is the web (HTML5 video) format with a WEBVTT header and a dot. VTT-only settings such as position and colour are dropped on conversion.