Free Subtitle Editor
Paste or open a subtitle file to check its timing, shift it back into sync, or convert it to SRT or WebVTT.
What is a Subtitle Editor?
Subtitle files pair lines of text with the moment each should appear and disappear. This editor reads the common formats, checks every cue against professional timing guidelines, shifts a whole file to fix sync, and writes clean SubRip (SRT) or WebVTT.
It detects the format with subsrt-ts, which reads SRT, WebVTT, YouTube’s SBV, SSA and ASS, MicroDVD, SAMI and LRC. The check uses the limits in Netflix’s English timed text style guide, so you see overlapping cues, fast reading speeds, long lines and flashes too short to read, each with its cue number.
Key Features
Timing Check
Overlaps, cues out of order, and cues on screen for too short or too long.
Readability Check
Reading speed in characters a second, line length and line count per cue.
Shift to Sync
Move every cue earlier or later in seconds, milliseconds or a timestamp.
SRT and WebVTT
Convert between them, keeping italics, bold and underline.
Other Formats In
Read SBV, ASS, SSA, MicroDVD and SAMI files and write them as SRT or VTT.
Perfect for everyone
- Video editors
- YouTubers
- Translators
- Course creators and anyone fixing a subtitle file
How to Use the Subtitle Editor
Paste a subtitle file or open one from your computer. The format is detected for you, and every view, from the check to the converted file, uses the same shift if you set one.
Open the File
Paste subtitles or open an .srt, .vtt, .sbv or .ass file.
Read the Check
See each problem with the number of the cue to fix.
Shift if Needed
Type +2.5 to delay every cue or -2.5 to bring it forward.
Convert and Save
Choose SRT or WebVTT and download the file.
Subtitle Files, Checked and Converted
Each row is a subtitle file of the kind people fix every day, from an interview with timing problems to a YouTube SBV export. Where a shift applies, it follows the dashes. Each answer is this tool’s check or converted file.
“1 00:00:00,400 --> 00:00:04,100 We started the company in a garage with two laptops and a <i>very</i> old printer. 2 00:00:04,200 --> 00:00:06,500 The printer was the only thing working. 3 00:00:06,300 --> 00:00:07,000 Honestly, we had no idea what we were doing back then. 4 00:00:07,400 --> 00:00:10,900 - Did you ever think about quitting? - Every single Tuesday. ”
“1 00:00:00,400 --> 00:00:04,100 We started the company in a garage with two laptops and a <i>very</i> old printer. 2 00:00:04,200 --> 00:00:06,500 The printer was the only thing working. 3 00:00:06,300 --> 00:00:07,000 Honestly, we had no idea what we were doing back then. 4 00:00:07,400 --> 00:00:10,900 - Did you ever think about quitting? - Every single Tuesday. ”
“WEBVTT NOTE Lecture 3, first minute intro 00:00:00.500 --> 00:00:03.000 align:center <v Prof. Lin>Good morning, everyone. 00:00:03.200 --> 00:00:06.800 <v Prof. Lin>Today we're looking at <b>entropy</b>. --- +2.5”
“1 00:00:05,000 --> 00:00:04,000 Backwards 2 00:00:0x,000 --> 00:00:09,000 Bad time ”
“1 00:01:10,000 --> 00:01:12,000 Cold open. 2 00:01:13,000 --> 00:01:15,500 Previously on the show. --- -00:01:08,000”
“0:00:01.000,0:00:03.500 Welcome back to the channel. 0:00:03.700,0:00:06.000 Today we fix a leaking tap. ”
“[Script Info] ScriptType: v4.00+ [Events] Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text Dialogue: 0,0:00:02.00,0:00:04.50,Default,,0,0,0,,{\i1}Previously{\i0}... Dialogue: 0,0:00:05.00,0:00:07.00,Default,,0,0,0,,We need to talk. ”
“1 00:00:01,000 --> 00:00:09,500 This caption stays on screen far too long. 2 00:00:09,600 --> 00:00:10,000 Blink. ”
“1 00:00:01,000 --> 00:00:04,000 First line of the caption Second line of the caption A third line that will not fit ”
“1 00:00:01,000 --> 00:00:03,000 <font color="#ffff00">Narrator:</font> It began in <i>1999</i>. ”
Subtitle Formats This Editor Reads
Subtitle formats differ in how they write time, whether they number cues and how much styling they carry. These are the formats this editor detects, and where you are most likely to meet each one.
SubRip (.srt)
Numbered cues with times like 00:01:02,500. The most widely supported format.
“What separates seconds and milliseconds?”
WebVTT (.vtt)
The W3C format for HTML video, starting with WEBVTT, with cue settings and voice tags.
“Which HTML element loads it?”
YouTube SBV (.sbv)
Start and end on one line separated by a comma, with no numbers.
“Where does it come from?”
SubStation Alpha (.ssa, .ass)
Styled subtitles with fonts, colours and positions, common in anime fansubs.
“Which editor writes it?”
MicroDVD (.sub)
Times in video frames, as in {100}{200}, so it depends on the frame rate.
“What unit are its times in?”
SAMI (.smi)
Microsoft’s HTML-like caption format from Windows Media.
“Who created it?”
LRC (.lrc)
Song lyrics with a timestamp per line, read here as cues.
“What does LRC time?”
Plain Text
Text with no timings can’t be detected as a subtitle file.
“What does a subtitle need?”
The Timing Rules Behind the Check
Broadcasters and streaming services publish style guides so viewers can read every subtitle comfortably. The check follows Netflix’s English guide, one of the most widely cited, and each rule below maps to a problem the check can report for a cue.
42 Characters a Line
Longer lines cover more of the picture and are harder to take in at a glance.
Two Lines at Most
A third line pushes subtitles into the middle of the frame.
20 Characters a Second
The adult reading speed. Children’s programmes use 17.
5/6 Second Minimum
Anything shorter flashes past before it can be read.
7 Second Maximum
Longer cues get reread, so split them or end them sooner.
Fixing Out-of-Sync Subtitles
Most sync problems fall into one of a few patterns, and each needs a different fix. Work out which one you have by checking a cue near the start and a cue near the end of the video before changing anything.
Constant Delay
If every line is late by the same amount, a single shift fixes the whole file.
Different Intro
A release with a longer or shorter intro needs a shift equal to the difference.
Drifting Sync
If the gap grows over time, the frame rate differs, as with 23.976 and 25 fps.
Cut Scenes
A missing scene makes sync jump at one point. Shift only the cues after it.
Find the Number
Note when a line is heard and when it appears; the difference is the shift.
SRT or WebVTT?
SRT and WebVTT look almost identical, and most players accept both, but they come from different places and support different features. Which one to deliver depends on where the video will play and how much styling the captions need.
Where Each Plays
SRT is the default for desktop players, editors and most upload forms. WebVTT is the format browsers load for HTML video.
Timestamps
SRT writes 00:00:01,000 with a comma. WebVTT writes a full stop and lets you drop the hours.
Styling
Both carry italics, bold and underline. WebVTT adds CSS classes, voice names and cue positions.
Metadata
WebVTT allows NOTE comments, cue identifiers and region definitions. SRT only numbers its cues.
Converting
SRT to WebVTT loses nothing. WebVTT to SRT drops positions, voices and notes, keeping the text and timing.
Subtitle Pitfalls
Small format details that make a subtitle file fail to load or display wrongly, even when every line of text in it is correct.
Comma or Full Stop
SRT uses 00:00:01,000 and WebVTT uses 00:00:01.000. Swapping them breaks some players.
Missing WEBVTT Header
A .vtt file must start with WEBVTT or browsers ignore it.
Blank Lines in Text
A blank line ends a cue, so a gap inside a caption splits it.
Wrong Encoding
Accented letters turn into symbols when a file isn’t saved as UTF-8.
Styling Lost in SRT
WebVTT cue settings and voice tags have no SRT equivalent.
Frame-Based Files
MicroDVD times depend on the frame rate, so the same file drifts on another release.
When to Use a Subtitle Editor
Whenever a subtitle file needs checking or fixing before it goes out with a video, or a player or platform needs a different format from the one you have, or a translator sends back a file to review.
Publishing Videos
Check captions before uploading to YouTube, Vimeo or a course platform.
Web Video
Convert SRT to WebVTT for an HTML video’s <track> element.
Downloaded Subtitles
Shift a file that’s out of sync with your copy of a film.
Translation Review
Find translated cues whose reading speed has crept too high.
Editing Workflows
Turn an ASS or SBV export into SRT for an editor that only reads SubRip.