Subtitle Converter - SRT, VTT, Shift, Merge and Repair

Convert subtitles between SRT and WebVTT, move them earlier or later, stretch them for a different frame rate, join a two-part film, and repair overlaps, empty cues and wrong order. Everything runs in your browser.

Or paste the subtitle text below.

25 fps to 23.976 fps: 104.271. 23.976 to 25: 95.904.

SRT, WebVTT and the Fixes That Come Up Every Time

SRT is the subtitle format most players, TVs and editing tools accept: a number, a time range with a comma before the milliseconds, the text, a blank line. WebVTT is the web's version for HTML5 video and platforms like YouTube and Vimeo: a WEBVTT header, a dot instead of the comma, optional cue settings and styling. Converting between them is mostly a matter of separators and headers, and this tool handles both directions while keeping the bold, italic and underline tags both formats understand.

Timing problems are the other reason people open a subtitle file. A subtitle ripped from a different release starts a few seconds early or late: shift it. One made for a 25 fps broadcast drifts steadily on a 23.976 fps film: stretch it by 104.271 percent, the ratio of the two frame rates. A film delivered in two parts needs one file: append the second part after the first, and the tool offsets it by the length of part one or by a time you give.

Repair handles what a player chokes on: cues out of order, cues that overlap the next one, empty cues, negative times after a shift, and cues that flash by in under 300 milliseconds. The tool lists every change it made, so nothing happens silently. The plain transcript output drops the timing altogether, which is handy for pasting a video's dialogue into a document or a translation tool. Nothing is uploaded: the file is read and rewritten in your browser.

How the Subtitle Converter Works

  1. 01Pick an .srt or .vtt file, or paste the subtitle text. The format is detected from the content.
  2. 02Choose the output: SRT, WebVTT or a plain transcript without timing.
  3. 03Shift the timing by seconds, stretch it by a percentage for a different frame rate, or append a second file for a two-part film.
  4. 04Leave Repair on to fix order, overlaps, empty cues and cues that flash by. The list under the result names every change. Download or copy.

SRT and WebVTT, and Why Timing Goes Wrong

SRT is the format almost every player accepts: a number, a time range with a comma before the milliseconds, the text, a blank line. WebVTT is the web's format for HTML5 video, YouTube and Vimeo: a WEBVTT header, a dot instead of the comma, optional cue settings. Converting keeps the bold, italic and underline tags both formats know and drops VTT-only speaker and class tags when writing SRT. Timing drifts for two reasons: a fixed offset when the subtitle was made for a release with a different intro, which a shift fixes, and a steady drift when it was made for a different frame rate, which a stretch fixes. 25 fps to 23.976 fps is a stretch of 104.271 percent.

When to Use This Tool

When your TV or player refuses a .vtt file and wants .srt, or a web player wants the reverse. When the subtitles run a few seconds early or late, or drift further out of sync as the film goes on. When you downloaded a film as two parts with two subtitle files and want one. When a player stops showing subtitles halfway, which is usually an overlapping or empty cue. And when you want the dialogue as plain text for a summary or a translation.

Common Use Cases

  • Turn a .vtt from a web platform into an .srt for a TV or media player
  • Fix subtitles that start three seconds too late
  • Merge the subtitles of a two-part film into one file
  • Extract the dialogue as plain text and count the words Word Counter & Character Counter

Tips

  • Check the first and the last cue against the film after a stretch; if both match, everything in between does too.
  • For a merge, leave the offset empty to start part two right after part one, or type the exact second where part two begins in the joined film.
  • The transcript output is the fastest way to get a film's dialogue into a translation tool.

Frequently Asked Questions

Is my subtitle file uploaded?
No. The file is read, converted and rewritten in your browser. The same conversion and repairs are available to scripts and AI assistants through the ToolForte REST API and MCP server, which take the subtitle text as input.
How do I know how many seconds to shift?
Find the first line of dialogue in the film and note the time it is spoken, then compare with the first cue's start time in the file. The difference is your shift; negative moves the subtitles earlier.
The subtitles drift more and more. What now?
That is a frame-rate mismatch, not an offset. Stretch the timing: 104.271 percent when the subtitle was made for 25 fps and the film is 23.976 fps, 95.904 percent the other way round. Combine with a shift if the first line is also off.
What does Repair change?
It sorts cues by start time, removes empty ones, clamps negative times to zero after a shift, ends a cue where the next one starts if they overlap, and gives a cue shorter than 300 milliseconds up to a second so it can be read. Every change is listed under the result.
Are ASS, SSA or SUB files supported?
Not yet. Convert them to SRT in your player or editor first. This tool reads SRT and WebVTT.

Related tools

12 suggested