← ← All Tools

🎬 Subtitle Format Converter

Browser-local subtitle format converter: SRT ↔ VTT lossless bidirectional conversion + ASS/SSA text extraction to SRT/VTT/plain text. Complete encoding auto-detection (UTF-8 BOM / UTF-16 / GB18030 / GBK / Big5 / Shift-JIS / Windows-1252 with byte-pattern scoring + TextDecoder fatal verification) with manual override dropdown. Strict ASS drawing-command stripping (`{\p1}…{\p0}` path commands never leak into SRT text) + correct BGR→RGB color byte swap (fixes a bug pervasive across competitors). Four-mode ASS override-tag handling (strip / preserve as HTML / map to VTT cue settings / normalize as style blocks), proper \N/\n/\h handling per WrapStyle. Line-level error diagnostics ("line 42: invalid timecode") + syntax-highlighted preview (colored timecodes / red invalid lines / yellow overlap bands) + click-to-locate warning panel. Time offset (±seconds / ±milliseconds) + FPS conversion (23.976/24/25/29.97/30 + drop-frame 29.97/59.94) + timecode format switching (SMPTE / ms / seconds / Chinese "1 min 23.456 sec"). Auto-fix pipeline: drop 0ms / empty cues / merge consecutive duplicates / repair numbering / fill missing blank lines / strip out-of-bounds `<font>` / swap reversed times. Four input channels: file upload / paste textarea / drag-drop / clipboard read (mobile-friendly). Lossy-diff preview card (shows dropped karaoke / drawings / regions / precision reduction before download). Mobile-native cue list + 44px touch targets + dark mode + keyboard shortcuts (Ctrl+O/S/C + J/K + Esc) + bilingual aria-live announcements. Zero dependencies, pure client-side, files are not uploaded by the tool.

All parsing, conversion, and repair happens locally in your browser · Files are not uploaded by the tool

Input Method

Drop subtitle file here, or click to select

Accepts .srt · .vtt · .ass · .ssa · .txt (max 20 MB)

Privacy-first client-side subtitle format converter with lossless SRT ↔ VTT bidirectional conversion plus ASS/SSA text extraction. Full encoding auto-detection (UTF-8 BOM / UTF-16 / GB18030 / GBK / Big5 / Shift-JIS / Windows-1252) using byte-pattern scoring + TextDecoder fatal verification. Strict ASS drawing-command stripping and correct BGR→RGB color byte swap (fixes a bug pervasive across competitors). Four-mode ASS override-tag handling (strip / preserve HTML / map to VTT cue settings / normalize style blocks). Line-level error diagnostics with syntax-highlighted preview, time offset, FPS conversion (23.976/24/25/29.97/30 including drop-frame), timecode format switching (SMPTE / ms / seconds / Chinese), and auto-fix diagnostic panel. Four input channels (file / paste / drag-drop / clipboard), lossy-diff preview, mobile-native 44px touch targets, dark mode, keyboard shortcuts, and bilingual aria-live announcements. Zero dependencies — pure client-side — files are not uploaded by the tool. Ideal for subtitle format interchange, encoding repair, timeline adjustment, YouTube/Bilibili upload prep, local player compatibility, and subtitle localization.