Subtitle Converter
Convert subtitles between SRT, VTT and ASS formats, free, private, 100% in-browser.
How to use this tool
Convert SRT subtitles to VTT and back
Free Subtitle Converter converts subtitle files between SRT and WebVTT right in your browser. Drop a file, pick the output format and download it instantly, timing and line breaks stay intact.
SRT or VTT, which do you need?
- VTT (WebVTT), required by HTML5 video players and the web
- SRT, the safest choice for editors, TVs and media players
How to convert
- Drag your subtitle file above or click to browse
- Choose the output format
- Download the converted file
Conversion runs locally, so your subtitles are never uploaded to a server.
How the format conversion works
The converter parses each cue, sequence number, start and end timecodes, and text lines, then rewrites them in the target format. SRT uses comma decimal separators and a blank-line cue structure; WebVTT uses dots and a WEBVTT header, and supports optional cue settings that SRT cannot express. Plain text, line breaks and basic emphasis are carried over, and the timing is preserved exactly, so playback sync does not change.
Formats, limits and parameters
| Property | Subtitle converter behavior |
|---|---|
| Formats | SRT ↔ WebVTT (VTT) |
| Preserved | Timing, cue order, line breaks, basic styling tags |
| Encoding | UTF-8 output; accents and non-Latin scripts handled |
| Input | One file per run, drag-and-drop or file picker |
| Processing | 100% client-side; subtitles never uploaded |
| Cost | Free, no account, no watermark |
Privacy: subtitle files stay local
Unreleased videos and client projects are common cases, so files are read and rewritten in the browser. Your subtitle files stay in memory; after the first load the converter keeps working offline.
Subtitle troubleshooting
- Ensure the file uses consistent cue numbering before converting.
- Save as UTF-8 to preserve accents and non-Latin characters.
- SRT styling tags are limited; VTT supports more, but players differ.
- Check the first and last cue after conversion for timing shifts.
- Keep the original file until the converted version plays correctly.
Related: browse the conversion tools for document and format conversions.
Timing, encoding and styling across formats
Conversion preserves the text and the timing, but the two formats describe them differently. SRT writes timestamps with a comma before milliseconds (00:01:02,500) while VTT uses a period (00:01:02.500); the converter rewrites the separator so players on both sides read the cue correctly. VTT supports cue settings such as line, position, size and alignment, which SRT has no field for, when moving VTT to SRT those hints are dropped rather than guessed, so a caption that was positioned at the top of the frame may return to the default bottom position. Inline markup behaves similarly: <b>, <i> and <u> survive both ways, but WebVTT-only constructs such as <c.classname> or ruby text are stripped to plain text in SRT. Encoding is the other common pitfall. Legacy files saved in Windows-1252 or ISO-8859-1 can display accented characters as mojibake, so convert to UTF-8 and keep the BOM off unless a specific player requires it. If a subtitle track still shows wrong characters after conversion, the issue is almost always the source encoding, not the cue timing.
Frequently asked questions
Which conversions are supported? +
This tool parses SRT, VTT and ASS/SSA (Dialogue lines, override tags stripped, \N → newline) and renders clean SRT or VTT with renumbered cues.
What about styling and positions? +
ASS styling, VTT voice spans and cue settings are normalized to plain timed text so the output plays everywhere.
Is my file private? +
Yes. Files are read with FileReader and converted in your browser. Nothing is uploaded.