Subtitle converter
SRT, VTT and plain text, converted in your browser. The file never leaves your computer.
Runs in your browser — free, no signup, nothing uploaded
Converted output
What actually differs between SRT and VTT
Less than it looks like. SubRip (.srt) numbers every cue and writes its timestamps with a comma before the milliseconds: 00:01:12,500. WebVTT (.vtt) opens with aWEBVTT header line, drops the requirement for cue numbers, uses a period instead of a comma, and adds room for styling and positioning that SRT has no syntax for at all — NOTE and STYLE blocks, cue settings like align:start line:0, even inline markup. Neither format changes what a caption says or when it appears; VTT just carries more metadata around the same information. Converting one to the other is a header, a punctuation mark and, if you are going the other way, deciding what to do with the metadata SRT can’t hold (this tool drops it and keeps the text and timing, which is what survives on every platform).
Two different problems both look like “out of sync”
A caption file that drifts has one of two unrelated problems, and the fix for each is different. A constant offset means every cue is early or late by the same amount — the transcript was authored against a different start point, or a few seconds were trimmed off the front of the video after the captions were made. That is what the shift control on this page fixes: one number, applied to every timestamp, in one pass. A frame-rate mismatch is a different animal entirely — captions timed against 23.976 frames per second and played back at 25 fps gain roughly four percent over the file’s length. Four percent is invisible in the first minute and can be most of a minute out by the end of an hour-long sermon, and no flat shift corrects it because the error grows instead of staying constant. If the gap between audio and captions gets worse the further into the file you go, that is a frame-rate problem and this tool won’t solve it; if the gap stays the same size from start to finish, the shift control will.
Which format each platform actually wants
YouTube and Vimeo both accept SRT and VTT without complaint. A plain HTML5 <track> element in a browser is the one place the choice is not optional — it requires VTT, and an SRT file dropped into a track tag simply will not display. Most church website builders, older video hosts and basic media players still default to expecting SRT, because it is the simpler and older of the two formats. When a platform’s documentation doesn’t say which one it wants, SRT is the safer file to hand over — it is the format every downstream tool has understood the longest.
Why this stays off a server
A caption file is a transcript with timestamps attached, and a sermon transcript regularly contains things nobody meant to publish — a name mentioned in a prayer request, a family’s situation raised from the pulpit, a counseling reference dropped in passing. None of that needs to leave the browser to become a different file format. Everything above runs as JavaScript on this page: the file is read locally, the conversion happens locally, and the result is offered back as a download or a block of text to copy. You can disconnect from the network after the page loads and the tool keeps working, which is the easiest way to confirm nothing was sent anywhere.
Questions people ask
- What is the difference between SRT and VTT?
- They are close relatives. SubRip (.srt) numbers each caption and separates the start and end times with a comma before the milliseconds. WebVTT (.vtt) opens with a WEBVTT header line, uses a period before the milliseconds, drops the required numbering, and allows styling and positioning cues that SRT has no way to express. Converting between them is mostly a matter of the header, the numbering and that one punctuation mark.
- Is my file uploaded anywhere?
- No. The conversion runs in your browser using JavaScript on this page. The file is read locally, converted locally, and offered back to you as a download. Nothing is sent to our servers, which is why the tool works with your network disconnected — and it is worth confirming that yourself before putting a pastoral conversation through any online converter.
- Why do my captions drift out of sync after converting?
- Conversion does not change timings, so drift almost always came with the file. The usual cause is a frame-rate mismatch — captions authored against 23.976 fps played back at 25 fps gain about four percent, which is imperceptible at the start and nearly a minute out by the end of an hour. A constant offset, on the other hand, means everything is late or early by the same amount, and the shift control here fixes that in one pass.
- Can I strip the timestamps and keep only the words?
- Yes — the plain text output drops the cue numbers and timings and joins the caption lines into readable paragraphs. That is the format worth keeping if you want the sermon as a document to search, quote from, or hand to someone writing the newsletter.
- Which format should I upload to each platform?
- YouTube accepts both SRT and VTT. Vimeo accepts both. HTML5 video in a browser requires VTT — an SRT file in a track element will not display. Most church website builders and video hosts want SRT because it is the older and simpler of the two. When you are unsure, SRT is the safer file to hand over.