Convert subtitles between SRT, WebVTT and SBV. ASS/SSA files are read-only (extracted to your chosen target). WebVTT output always starts with the required WEBVTT header.
Input Subtitles
VTT Output
Subtitle Converter (SRT to VTT) converts subtitle files between SRT, WebVTT, and SBV formats entirely in your browser, and reads ASS/SSA dialogue for extraction. It fixes the comma-versus-dot timestamp difference and adds the required WEBVTT header automatically.
Written & reviewed by Helperzy Editorial Team · Updated July 2026
Convert subtitles between SRT, WebVTT and SBV. ASS/SSA files are read-only (extracted to your chosen target). WebVTT output always starts with the required WEBVTT header.
Input Subtitles
VTT Output
Open or paste your SRT, WebVTT, or SBV file, or an ASS/SSA file for dialogue extraction. The tool immediately parses every cue and reports the total cue count and duration.
Pick SRT, WebVTT, or SBV as the output format. The converter adjusts the comma or dot decimal, writes the WEBVTT header when needed, and rebuilds each cue block in the correct layout.
Check the malformed-line report for any lines that failed, confirm the cue count matches, optionally strip inline tags, then download the converted file ready for your player.
Subtitle files look almost identical at a glance, yet the tiny differences between formats are exactly what make a video player reject a caption track. This converter takes an SRT, WebVTT, or SBV file and rewrites it into whichever of those formats you need, handling every one of those quiet differences for you. It runs entirely on your machine, so nothing is uploaded, nothing waits on a server, and a caption file you may not want to share never leaves your device. Whether you are a video editor preparing captions for a website, a developer wiring up an HTML5 player, a translator delivering files in a client's required format, or someone who simply downloaded the wrong subtitle type, the job is the same: get the timestamps and the header right so the track just works. The single most important difference is how each format writes the fraction of a second. SRT uses a comma before the milliseconds, so a cue starts at a time written as 00:00:01,500. WebVTT uses a dot instead, writing the very same moment as 00:00:01.500. That one punctuation swap is the reason a perfectly good SRT file often shows nothing when you feed it straight to a web player. On top of that, WebVTT is strict about its opening line: the file must begin with a line reading WEBVTT, and without that header most players quietly refuse the entire track. This converter changes the comma to a dot in every timestamp and writes the header for you automatically, which removes the two mistakes that cause the majority of failed caption tracks. SBV, the format YouTube and SubViewer use, is laid out differently again. Instead of putting the start and end times on separate lines joined by an arrow, SBV places both times on a single line separated by a comma, uses a dot for the decimal, and drops the arrow entirely. Because the structure is genuinely different rather than just punctuation, converting to and from SBV means the tool re-reads the timing of every cue and rebuilds each block in the target layout. The converter also reads ASS and SSA files, the styling-heavy formats used by desktop players, but only to pull out the spoken dialogue lines; it treats them as read-only sources because their positioning and styling tags have no direct equivalent in the simpler plain-text formats. Beyond the raw conversion, the tool gives you the feedback you actually need to trust the result. It shows the total cue count so you can confirm none went missing, and the total duration so you can sanity-check that the last caption lands where the video ends. Crucially, it produces a malformed-line report that lists the specific line numbers it could not parse, while still converting every other cue around them. That means a single broken timestamp deep in a long file no longer stops the whole conversion; you get a working file plus a short list of exactly what to inspect by hand. There is also an optional switch to strip inline formatting, so italic tags and positioning overrides can be removed when you want clean, plain caption text. A few practical notes save real frustration. If you are targeting HTML5 video, the track element expects WebVTT, and iOS Safari in particular will not display an SRT file at all, so converting to VTT with a proper header is not optional there. When you convert, open the output and confirm the first line reads WEBVTT and that a sample timestamp now uses a dot rather than a comma; those two checks catch nearly every problem before you ever load the video. Keep your original file until you have confirmed the converted track plays, since it is far easier to reconvert from a clean source than to repair a partially edited one. Because everything happens locally and instantly, you can iterate freely: convert, preview in your player, tweak, and convert again without any upload or wait, which makes fixing a stubborn caption track a matter of seconds rather than a round trip through some online service.
Input
SRT cue: 1\n00:00:01,500 --> 00:00:04,000\nHello there
Result
WEBVTT\n\n00:00:01.500 --> 00:00:04.000\nHello there
The comma before the milliseconds becomes a dot and a WEBVTT header line is added at the top so web players accept the track.
Input
Convert the same cue to SBV for YouTube
Result
0:00:01.500,0:00:04.000\nHello there
SBV puts both times on one line separated by a comma with dot decimals and no arrow between them.
The core difference is how each writes milliseconds in a timestamp. SRT uses a comma, as in 00:00:01,500, while WebVTT uses a dot, as in 00:00:01.500. WebVTT also requires a line reading WEBVTT at the very top of the file. Without that header most players reject the track entirely. This converter changes every comma to a dot and adds the header automatically.
Online Metronome is a free browser metronome that keeps steady time using the Web Audio API. Set BPM, time signatures, accents, subdivisions, and tap tempo with no download.
Tone Generator produces a pure tone in your browser using a Web Audio oscillator. Choose frequency, waveform, and musical notes, then export the tone as a WAV file for free.
Video to GIF Converter turns a video clip into an animated GIF entirely in your browser. It captures frames with canvas and encodes with gif.js, so nothing is uploaded.
Subtitle Timing Shifter fixes out-of-sync subtitles by retiming SRT or WebVTT files in your browser. It can shift every cue by a signed amount, scale for frame-rate drift, or move only the cues after an anchor point.
Image Resizer changes image dimensions online — set exact pixels, use percentage scaling, or pick from 12 presets (Instagram, Passport, YouTube, etc.). Target specific file sizes like 50KB or 100KB. Batch resize multiple images. 100% free, browser-based.
Image Converter changes images between any format online free — JPG, PNG, WebP, AVIF, PDF, ICO, BMP, HEIC, GIF, SVG. Batch conversion, resize, rotate, flip, AI format recommendation. 100% browser-based, no upload.
Convert JPG to WebP format online free — reduce image file size by 25-35% with identical visual quality. Batch conversion, adjustable quality, lossless mode available. Boost website speed and Core Web Vitals scores. 100% browser-based, no upload needed.
Convert PNG to WebP format online free — reduce file size by 26-34% while preserving full transparency. Batch conversion, lossless and lossy modes, adjustable quality. Boost website performance and Core Web Vitals. 100% browser-based, no upload needed.