ByteScope

Subtitle Converter

Convert, retime and repair subtitle files — SRT ↔ VTT ↔ ASS ↔ SBV, locally.

Your files never leave your browser — all processing is local.

Drop subtitle files here

SRT, VTT, ASS/SSA, SBV — or click to browse

About this tool

This subtitle converter parses SRT, VTT, ASS/SSA and SBV files into a common cue model and writes them back out in whichever format you need — including a plain-text export. Drop one file or a whole batch (batches download as a zip), or just paste subtitle text straight in. Everything runs in your browser: your subtitle files are never uploaded.

It is built for the problems that actually break subtitles. Garbled characters from legacy encodings are the big one: files saved as BIG5, GBK or Shift-JIS are auto-detected, previewed live so you can see the fix, and can be switched manually if the guess is wrong. A timing-shift control moves every cue forward or back to rescue out-of-sync subtitles, and an FPS retime (23.976 ↔ 25 ↔ 29.97) fixes the steady drift that appears when a video was converted between frame rates.

A built-in table editor lets you correct text and timestamps cue by cue, with live validation that flags overlapping cues and negative durations. Cleanup options strip HTML tags, remove hearing-impaired annotations like [music], and merge cues that flash by too quickly. When a conversion would lose information — ASS styling and positioning don't survive a trip to SRT — the tool lists exactly what will be dropped before you convert.

Frequently asked questions

Are my subtitle files uploaded?
No. Parsing, conversion, encoding repair and the editor all run in your browser — files never leave your device. Batch conversions are zipped locally too.
How do I fix garbled or mojibake subtitles?
Garbled text usually means the file isn't UTF-8 — older Chinese subtitles are commonly BIG5 or GBK, Japanese ones Shift-JIS. The tool detects the likely encoding, shows a live preview of the decoded text, and lets you switch encodings manually until the preview reads correctly. Exported files are always clean UTF-8.
Why do my subtitles drift further out of sync over time?
Steady drift (fine at the start, seconds off by the end) is a frame-rate mismatch: the subtitles were timed for a different fps than your video, typically 23.976 vs 25. Use the FPS retime option to rescale every timestamp. A constant offset (equally wrong everywhere) is fixed with the shift control instead.
What gets lost converting ASS to SRT?
SRT has no styling or positioning, so ASS features like fonts, colors, karaoke effects and screen placement are dropped — only the text and timing survive. The converter lists the specific features found in your file before you commit, so nothing disappears silently.
Which formats are supported?
SRT, WebVTT (.vtt), ASS/SSA and YouTube's SBV, in any direction, plus plain-text export for transcripts. Batch conversion handles mixed input formats in one go.