SRT to VTT converter
Convert SubRip subtitles to WebVTT so they play in HTML5 video.
Processed in your browser. This file is converted on your device and is never uploaded.
Converter
.srt up to 25 MB. You can also drag a file here.
No file selected.
About this tool
HTML5 video only accepts WebVTT subtitles, but most subtitle files in circulation are SubRip .srt files. The two formats are close relatives, and this tool converts between them.
It adds the required WEBVTT header, rewrites timestamps to use a decimal point rather than a comma, and renumbers the cues in order.
Supported formats and limits
- Input
- .srt
- Output
- .vtt (text/vtt)
- Output name
- The original name with the new extension, for example data.srt becomes data.vtt.
- File size limit
- 25 MB
- Processing
- In your browser. The file is not uploaded.
SRT against WebVTT
| Feature | SRT | WebVTT |
|---|---|---|
| Stored as | Plain text, readable in any editor | Plain text, readable in any editor |
| What it can hold | Lines of text against a clock | Lines of text against a clock |
| Numbers stay numbers | No | No |
| Comments | No | Yes |
| Several in one file | No | No |
| Published | 1998 | 2010 |
How to use it
- Choose a .srt file, or switch to Paste text and paste the subtitles directly.
- Select Convert, then download the .vtt file.
Limitations
- SubRip formatting tags such as <b>, <i>, and font colour are passed through as written. WebVTT supports some of them and ignores others.
- Positioning and alignment are not added; every cue uses the player's default placement.
- Cues are renumbered sequentially, so custom identifiers are not preserved.
- A cue that ends before it starts stops the conversion rather than producing a file a player would reject.
- The file is read as UTF-8. A subtitle file saved in a legacy encoding will show damaged accented characters.
Common problems
The file was refused before anything started.
SRT to VTT converter checks the extension before it reads a byte, and it accepts .srt. Browsers report file types inconsistently enough that the extension is what decides.
Rename the file if the extension is simply wrong, or convert it to one of those first. A file whose extension does not match its contents is refused for the same reason, and that one needs converting rather than renaming.
It said the file was too large.
The limit here is 25 MB. It is not a policy but a measurement: everything runs on your own device, and past that size a phone runs out of memory rather than finishing slowly.
Split the file, reduce it before converting, or use a desktop program for that one. A machine with more memory will manage more, but the limit does not know which machine it is on.
I selected several files and only one converted.
This tool takes one file at a time. Doing several at once would multiply the memory in use, which is the thing most likely to fail on a phone.
Convert them one after another. Nothing is kept between them, so there is no state to reset.
The tab reloaded itself part-way through.
The browser ran out of memory and restarted the page. At sizes approaching 25 MB this is the failure a phone hits first, and it looks like a crash rather than an error.
Try a smaller file, close other tabs, or run it on a computer. Nothing was uploaded or lost — the original file is untouched on your device.
The result opened in the wrong program.
The output is a .vtt file, and your system opens that extension with whatever it was told to. Nothing about the conversion decides it.
Open it from inside the program you want, or change the default for .vtt in your system settings. The file itself is correct.
Frequently asked questions
- Is my file uploaded?
- No. The conversion runs entirely in your browser. The file never leaves your device and no request carrying its contents is made.
- What actually changes?
- A WEBVTT header is added, the comma before the milliseconds becomes a full stop, and cues are renumbered. The text and timings are untouched.
- Will the timings still line up with my video?
- Yes. Timings are converted exactly, down to the millisecond, and no offset is applied.
- Why was my file rejected?
- Usually a cue with no timing line containing --> , or a timestamp the parser could not read. The error names the cue number so you can find it.
- Do I need to install anything or create an account to use SRT to VTT converter?
- No, to all of it. SRT to VTT converter runs inside the browser you already have, with no sign-up, no download, no watermark on the result, and no cap on how many files you convert. There is nothing to uninstall afterwards either, because nothing was installed.
- Does SRT to VTT converter work offline?
- Once the page has loaded, yes. The conversion runs on your device, so it needs no connection to do the work. The first visit fetches the page and the code that does the converting; after that a lost connection stops nothing, and a converted file appears exactly as it would online.
- How large a file can SRT to VTT converter handle?
- The limit is 25 MB. It is a deliberate one rather than a technical ceiling: the real constraint is memory, and a file that decodes to more than the device can hold fails in a way that is hard to explain. Phones run out well before laptops do, which is why the limit is set where it is.
- Can I convert several files at once with SRT to VTT converter?
- Not here: this tool takes one file at a time, because what it does depends on choices you make about that particular file. Convert them one after another, or look at the batch converters in the same category, which are built for a folder at a time.