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
- 01Pick an .srt or .vtt file, or paste the subtitle text. The format is detected from the content.
- 02Choose the output: SRT, WebVTT or a plain transcript without timing.
- 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.
- 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
- 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.
- 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.
- 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.
- 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.
- Not yet. Convert them to SRT in your player or editor first. This tool reads SRT and WebVTT.
Is my subtitle file uploaded?→
How do I know how many seconds to shift?→
The subtitles drift more and more. What now?→
What does Repair change?→
Are ASS, SSA or SUB files supported?→
Related tools
12 suggested- 01CSV Column Extractor - Free & PrivateExtract chosen columns from CSV data with quoted field support and delimiter auto-detection. Free browser-based tool, data never leaves you.
- 02Braille Translator - Free & PrivateTranslate text to Grade 1 Unicode braille and back with correct capital and number signs. Free browser-based braille converter for learners.
- 03Invisible Character Generator - Free & PrivateCopy invisible Unicode characters, generate any amount, and detect hidden ones in pasted text. Free browser-based tool for blank messages.
- 04Glitch Text Generator - Free & PrivateCreate zalgo glitch text with stacked Unicode marks in mild, medium, or heavy intensity. Free browser-based generator with copy and paste output.
- 05Leetspeak Translator - Free & PrivateConvert text to leetspeak in basic, advanced, or extreme intensity and decode 1337 back to English. Free translator that runs in your browser.
- 06Upside Down Text Generator - Free & PrivateFlip text upside down or mirror it with Unicode characters you can paste anywhere. Free browser-based generator for social media and chats.
- 07ROT13 Encoder & Decoder - Free & PrivateEncode and decode ROT13 or any Caesar cipher shift from 1 to 25. Free browser-based cipher tool that preserves case and skips punctuation.
- 08Word Frequency Counter - Free & PrivateCount how often each word appears with a ranked table, percentages, and stop word filtering. Free browser-based word frequency analysis tool.
- 09Text Cleaner - Free & PrivateClean messy text in one pass: strip HTML, extra spaces, empty lines, punctuation, numbers, emojis, and smart quotes. Free browser-based tool.
- 10Find and Replace Text - Free & PrivateSearch and replace text with live preview, replacement count, whole word mode, and full regex support. Free tool that runs in your browser.
- 11Sort Lines Alphabetically - Free & PrivateSort text lines A to Z, Z to A, by length, natural numeric order, or random shuffle. Free browser-based sorter with duplicate removal built in.
- 12Remove Line Breaks - Free & PrivateJoin broken lines into flowing text with a space, no separator, or custom string. Free browser-based tool that can keep paragraph breaks.