SRT to VTT to ASS: Convert Subtitle Formats Without Breaking Timing
Learn how to convert subtitles between SRT, WebVTT, and ASS/SSA formats while keeping timing perfectly synced, using the free Subtitle Format Converter that runs entirely in your browser.
Table of Contents
Subtitles are one of those things nobody notices until they break. And when they break, it's almost never the text that's the problem β it's the format. The SRT file that plays perfectly in VLC refuses to load in an HTML5 <video> element, which wants WebVTT. The ASS subtitles that look gorgeous in your desktop player turn into plain timing blocks on a streaming platform. Anyone who works with video eventually runs into this wall.
That's exactly why we built the Subtitle Format Converter. It converts subtitles between SRT, WebVTT, and ASS/SSA in any direction, auto-detects the input format, and preserves your timing down to the millisecond. There's nothing to install and nothing to sign up for β you paste your subtitles, pick an output format, and copy or download the result.
In this guide, we'll walk through how the converter works, why these three formats exist side by side, and how to move between them without spending an evening fixing broken timestamps.
Why Use the Subtitle Format Converter?
- No format guessing required. Paste SRT, WebVTT, or ASS/SSA β the tool auto-detects which one it is, so you never have to identify the format yourself before converting.
- Timing preserved exactly. The converter handles the comma-versus-dot millisecond difference between SRT and the other formats automatically. 00:01:24,500 becomes 00:01:24.500 and back again, with no drift.
- Everything stays in your browser. Conversion is 100% client-side. Your subtitle files never leave your machine, which matters if you're working on unreleased content or private transcripts.
- Multi-line cues stay intact. Subtitles that wrap across two or three lines keep their line structure instead of collapsing into a single run-on sentence.
- Instant feedback. A live cue count (e.g. "128 cues parsed") tells you immediately whether the whole file was read correctly, so a truncated paste is caught before you ship it.
- Copy or download, ready to use. Grab the output with one click, or download it with the correct file extension β .srt, .vtt, or .ass β so your player or platform recognizes it right away.
Key Features
| Feature | What it does |
|---|---|
| Bidirectional conversion | Converts SRT β WebVTT β ASS/SSA in any direction |
| Auto-detection | Identifies the input format automatically, no configuration needed |
| Millisecond-safe timing | Converts comma-based SRT timestamps to dot-based VTT/ASS timing and back, exactly |
| HTML tag stripping | Removes formatting tags from VTT text when converting out, leaving clean plain text |
| Live cue count | Shows how many cue blocks were parsed, so you can sanity-check the result |
| Example loader | "Load example" button lets you try the tool instantly with sample subtitles |
| Correct file extensions | Downloads as .srt, .vtt, or .ass depending on the chosen output format |
- Parsing that respects cue structure. Each subtitle is treated as a complete block β number, timing line, text β so nothing gets shuffled or re-paired during conversion.
- Tag handling that makes sense. WebVTT supports inline HTML tags like <i> and <b>. When you convert VTT to SRT or ASS, the converter strips those tags so the target format receives clean text rather than visible markup.
- Zero-upload privacy. Because everything runs client-side, there's no upload step, no server processing, and no copy of your subtitles sitting anywhere but your own machine.
How to Convert Subtitle Formats
- Open the Subtitle Format Converter. No account, no install β the tool loads straight in your browser.
- Paste your subtitles. Drop in your SRT, WebVTT, or ASS/SSA content. The converter detects the format automatically and tells you how many cues it parsed. First time here? Click "Load example" to see the whole flow with sample data.
- Choose your output format. Pick SRT, WebVTT, or ASS/SSA depending on where the subtitles are headed.
- Check the cue count. Make sure the live cue count matches the number of subtitles you pasted. A mismatch usually means the paste was truncated β copy the full file again.
- Copy or download. Copy the converted subtitles to your clipboard, or download the file with the correct extension for your player or platform.
Understanding SRT, WebVTT, and ASS
SRT (SubRip) is the oldest and most universal of the three. Born in the DVD era, it's a dead-simple format: a numbered block, a timestamp line, one or more text lines, and a blank line. Nearly every desktop media player β VLC, MPV, MPC β reads it. Its simplicity is both its superpower and its limit: no styling, no positioning, and timestamps that use a comma before the milliseconds (00:01:24,500), a quirk baked into the format from the beginning.
WebVTT (VTT) is the web-native successor. It's the only subtitle format HTML5's <track> element supports, which makes it the required format for any captions shown inside a browser <video> player β online courses, marketing sites, documentation videos. WebVTT looks similar to SRT but has meaningful differences: it starts with a WEBVTT header, uses a dot before milliseconds, and supports HTML tags like <i>, <b>, and <c> for inline styling.
ASS/SSA (Advanced SubStation Alpha) is the powerhouse. Fansubbers and anime translators built their workflows around it because it supports full styling β fonts, colors, outlines, shadows, precise screen positioning, and karaoke effects. Media players render it beautifully, but web players and most streaming platforms ignore its styling entirely, and many won't accept the file at all.
The comma-versus-dot trap
The single most common bug in hand-rolled subtitle conversion is the millisecond separator. SRT writes 00:01:24,500. WebVTT and ASS write 00:01:24.500. If you convert SRT to VTT with a sloppy find-and-replace, you can silently corrupt timestamps; if you forget the swap entirely, the browser rejects the file outright. The Subtitle Format Converter normalizes this separator in both directions, so timing survives the round trip exactly β start times, end times, and every millisecond in between.
Tag stripping
Each format has a different opinion about markup. VTT embraces HTML tags; SRT tolerates some but renders others as literal text; ASS uses its own brace-wrapped override tags like {\i1}. When converting out of VTT, the converter strips HTML tags from cue text, so you don't end up with <i>hello</i> printed on screen in a player that doesn't parse it. The result is clean, readable text in whatever format you chose.
Practical Use Cases
Adding captions to an HTML5 video player
You've finished an online course or product demo and want captions in the browser. The video element only accepts WebVTT, but your transcription tool or editor handed you SRT. Paste the SRT into the converter, choose WebVTT, and download a ready .vtt file with the WEBVTT header and dot-separated timestamps the browser demands. Two minutes instead of an evening of manual edits.
Moving legacy SRT libraries to streaming platforms
Archives of old SRT files are common in newsrooms, universities, and corporate media libraries. Modern platforms and web players increasingly want VTT. Instead of re-transcribing or editing files one by one, converting them in bulk preserves years of timing work, and the live cue count on each file confirms the conversion parsed completely before you commit it.
Fansub and anime workflows
ASS is the lingua franca of stylized subtitles β signs, karaoke lines, positioned notes. But sharing a preview clip on the web, or submitting subtitles to a platform that only accepts VTT, means leaving the ASS world temporarily. Converting ASS to SRT or VTT produces a clean plain-text version that any player can display, while your styled ASS master stays untouched as the source of truth.
Translation handoff
Translators often receive subtitles in whatever format the previous step used, and the next step wants something else. A translator comfortable editing SRT can receive a VTT file, convert it to SRT to work in, then convert the finished translation back β with timing identical to the original, so the translated file drops straight into the existing edit.
Best Practices for Subtitle Conversion
- Always check the cue count. A quick glance at "128 cues parsed" against the expected total catches truncated pastes, missing blocks, and half-loaded files.
- Keep your styled master separate. If you work with ASS styling, treat the ASS file as the master and export plain SRT or VTT copies for distribution, so the styling never gets lost in a round trip.
- Convert once, don't chain. Going SRT β VTT β ASS accumulates small format-specific losses like tags and headers. Convert from the original file directly to the target format when you can.
- Test in the target player. Load the converted file in the actual player or platform it's destined for β browsers are strict about the WebVTT header, and some players are picky about file extensions.
- Watch line breaks. Multi-line cues are preserved, but if your target display is narrower than the original, review long lines before publishing.
- Remember it's all local. Since nothing uploads, the tool is safe for confidential cuts, unreleased trailers, and NDA'd content β but that also means your work lives only in your clipboard, so save the download.
Convert Your Subtitles Now
The next time a player refuses your subtitles, don't open a text editor and start fixing timestamps by hand. Open the Subtitle Format Converter, paste your file, pick your format, and you're done β with timing preserved to the millisecond and your content never leaving your browser. Try it with the "Load example" button right now, and the next format wall you hit will take seconds to get over.
Related Tools You Might Like:
- Text Case Converter β fix letter casing across subtitle text in bulk
- CSV/JSON Converter β move tabular data between formats just as easily
- Markdown to HTML Converter β turn markdown into ready-to-publish HTML
Happy converting!