Overview
Converts subtitle files between SubRip SRT, WebVTT and ASS and repairs their timing in your browser. Shift every cue earlier or later, convert between frame rates such as 23.976 and 25 fps, or line up a drifting file from two known points. You can also merge two tracks, fix overlapping cues and see which lines read too fast.
How It Works
Drop an .srt, .vtt, .ass or .ssa file, or paste the text, and the format is detected from the timing lines. Every operation edits the cue list in place: Earlier and Later move all cues by the milliseconds you type, Convert frame rate rescales times, and Apply sync maps two cue times to where they should be. Fix overlaps trims each cue so it ends a set gap before the next one. Pick SRT, WebVTT or ASS as the output and copy or download the file with the matching extension.
Step-by-Step Usage Guide
- Drop a subtitle file or paste SRT, WebVTT or ASS text into the editor.
- Shift all cues earlier or later by a number of milliseconds if the audio is out of step.
- Convert the frame rate or apply a two-point sync when the drift grows over the film.
- Run Fix overlaps and Remove empty, then review the validation list.
- Choose the output format and download the converted file.
Technical Specifications & Standards
All three formats are read into one model of start time, end time and text, measured in milliseconds, so any input can be written as any output. SRT uses a comma before the milliseconds, WebVTT a dot and an optional hours field, and ASS stores centiseconds, which means an ASS export rounds to the nearest 10 ms. WebVTT NOTE, STYLE and REGION blocks are skipped and cue identifiers are kept. In ASS files the Format line of the Events section decides which column holds Start, End and Text, override tags in braces are removed and \N becomes a real line break. Frame rate conversion multiplies every time by the source rate divided by the target rate, the fix for subtitles made for a 23.976 fps film and played on a 25 fps PAL release. Two-point sync solves a straight line through both anchors, so it corrects a constant offset and a gradual drift at once. Validation flags cues that end before they start, overlaps, cues shorter than 0.7 s or longer than 7 s, more than two lines, lines over 42 characters and reading speeds above 20 characters per second.
Targeted Use Cases
- Turning an SRT file into WebVTT for an HTML5 video track element.
- Correcting subtitles that run two seconds late after a different release was downloaded.
- Converting 23.976 fps film subtitles for a 25 fps European broadcast copy.
- Combining English and Spanish tracks into one stacked bilingual subtitle file.
- Checking a translator's file for overlaps and lines that are too long to read.
Notes & Gotchas
- Use two-point sync with one cue near the start and one near the end for the most accurate correction.
- Leave a gap of about 80 ms when fixing overlaps so players do not show two cues at once.
- Keep lines under 42 characters and reading speed under 20 characters per second for comfortable viewing.
- Export to WebVTT for browsers and streaming players, and keep SRT for desktop players and editors.
Frequently Asked Questions
How do I convert SRT to VTT?
Drop the .srt file, choose WebVTT as the output format and click Download .vtt. The tool adds the WEBVTT header and swaps the comma in each timestamp for a dot, which is all browsers need.
How do I fix subtitles that are out of sync?
If every line is off by the same amount, type the delay in milliseconds and press Earlier or Later. If the gap grows during the video, enter two cue times and where they should be under Two-point sync.
Does converting from ASS keep styling and positions?
No. Only the start time, end time and text of each Dialogue line are kept; override tags in braces, styles and positions are dropped. Exporting to ASS writes a single default style.
What does the frame rate converter do?
It rescales every timestamp by the ratio of the two frame rates. Pick the rate the subtitles were made for and the rate of your video, for example 23.976 to 25, and the cues speed up to match.
Can I merge two subtitle files?
Yes. Drop several files together or use the Merge a second subtitle file area. Cues are combined by start time, and with stacking turned on a cue that overlaps another is joined onto it as a second line.
Related tools
- Video Compressor & Converter - Re-encode a video to WebM (VP9 or VP8) or MP4 where your browser can record it. Pick resolution, frame rate and bitrate, trim, and compare sizes. Shows which formats this browser supports.
- Text File Encoding Converter - Detect whether a text file is UTF-8, UTF-16, Windows-1252, Shift_JIS or another code page, preview it, then save it as UTF-8 with or without BOM and fix CRLF or LF line endings in bulk.
- Unix Timestamp Converter - Convert Unix epoch timestamps to readable dates and back. Supports ms and seconds.
- Extract Audio from Video - Pull the audio track out of an MP4, WebM or MOV video and save it as lossless WAV (16 or 24-bit) or as compact Opus where supported. Optional mono mixdown. Decoded locally, never uploaded.
- CSV Merge & Split - Merge several CSV files into one with matched columns, an optional source-file column and duplicate removal, or split a large CSV by row count or column value into a ZIP of smaller files.
- VCF Contacts Merger, Deduper & CSV Converter - Open and merge vCard .vcf files, remove duplicate contacts by email, phone or name, and export vCard 3.0 or 4.0, or convert VCF to CSV and CSV to VCF. Reads 2.1 quoted-printable cards. Nothing leaves your browser.