— Writing & Creativity

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.

— Samples
Cues 4Problems 4Valid
Live

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.

1

Open the File

Paste subtitles or open an .srt, .vtt, .sbv or .ass file.

2

Read the Check

See each problem with the number of the cue to fix.

3

Shift if Needed

Type +2.5 to delay every cue or -2.5 to bring it forward.

4

Convert and Save

Choose SRT or WebVTT and download the file.

Worked Examples

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.

REF_001An interview checked against the limits

“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. ”

REF_002The same file as WebVTT

“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. ”

REF_003WebVTT shifted 2.5 seconds, as SRT

“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”

REF_004A backwards cue and a typo

“1 00:00:05,000 --> 00:00:04,000 Backwards 2 00:00:0x,000 --> 00:00:09,000 Bad time ”

REF_005Cutting a 68-second intro

“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”

REF_006A YouTube SBV file as SRT

“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. ”

REF_007An ASS file as SRT

“[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. ”

REF_008Too long, then too short

“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. ”

REF_009Three lines in one cue

“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 ”

REF_010A coloured SRT cue as WebVTT

“1 00:00:01,000 --> 00:00:03,000 <font color="#ffff00">Narrator:</font> It began in <i>1999</i>. ”

Format Reference

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.

01 / SUBRIP

SubRip (.srt)

Numbered cues with times like 00:01:02,500. The most widely supported format.

“What separates seconds and milliseconds?”

02 / WEBVTT

WebVTT (.vtt)

The W3C format for HTML video, starting with WEBVTT, with cue settings and voice tags.

“Which HTML element loads it?”

03 / YOUTUBE

YouTube SBV (.sbv)

Start and end on one line separated by a comma, with no numbers.

“Where does it come from?”

04 / SUBSTATION

SubStation Alpha (.ssa, .ass)

Styled subtitles with fonts, colours and positions, common in anime fansubs.

“Which editor writes it?”

05 / MICRODVD

MicroDVD (.sub)

Times in video frames, as in {100}{200}, so it depends on the frame rate.

“What unit are its times in?”

06 / SAMI

SAMI (.smi)

Microsoft’s HTML-like caption format from Windows Media.

“Who created it?”

07 / LRC

LRC (.lrc)

Song lyrics with a timestamp per line, read here as cues.

“What does LRC time?”

08 / PLAIN

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.

Tip 01

Constant Delay

If every line is late by the same amount, a single shift fixes the whole file.

Tip 02

Different Intro

A release with a longer or shorter intro needs a shift equal to the difference.

Tip 03

Drifting Sync

If the gap grows over time, the frame rate differs, as with 23.976 and 25 fps.

Tip 04

Cut Scenes

A missing scene makes sync jump at one point. Shift only the cues after it.

Tip 05

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.

Tip 01

Comma or Full Stop

SRT uses 00:00:01,000 and WebVTT uses 00:00:01.000. Swapping them breaks some players.

Tip 02

Missing WEBVTT Header

A .vtt file must start with WEBVTT or browsers ignore it.

Tip 03

Blank Lines in Text

A blank line ends a cue, so a gap inside a caption splits it.

Tip 04

Wrong Encoding

Accented letters turn into symbols when a file isn’t saved as UTF-8.

Tip 05

Styling Lost in SRT

WebVTT cue settings and voice tags have no SRT equivalent.

Tip 06

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.

Frequently Asked Questions