thoughtasylumTOOLBOX Preview

Tools › E-learning

Caption Checker

Check a subtitle or caption file (SRT or WebVTT) for timing mistakes, overlaps, text that is too fast or too long to read; convert between SRT and WebVTT; and shift or stretch all the times.

About this tool What it's for, how to use it and an example

What it's for

Check a subtitle or caption file in SRT or WebVTT format for the mistakes that make captions hard to read or fail in a video player: times that don’t make sense, cues that overlap, text that appears too fast or is too long for the screen, empty cues and wrong numbering. You can also convert between SRT and WebVTT, shift every time by an amount, or stretch the times to fit when captions drift out of step with the video.

For example, when captions made for a video are a second late, or the course’s player rejects a .vtt file, paste the file here to see what’s wrong and where, then shift it and save the fixed file.

How to use it

Choose a file or drop one on the page, or paste the text into the box. The format is detected from the text, or you can choose it. The checks run as you type, and each problem names its cue and line; click one to select that line.

  • Gap over, Characters per second, Characters per line and Lines per cue are the limits to check against, and are remembered in this browser. A setting of 0 turns that check off. Tags such as <i> and {\an8} and line breaks aren’t counted as characters.
  • Convert to SRT drops WebVTT’s NOTE, STYLE and REGION blocks, identifiers and cue settings, and numbers the cues from 1. Converting to WebVTT adds the WEBVTT header.
  • Shift adds or takes away an amount of seconds, such as 1.5 or -0:02.250. Times never go below zero.
  • Stretch needs two cues’ times as they are now and as you want them. Every time is moved along the straight line through them, which corrects captions made for a different frame rate.

The result appears in the Result box. Copy it, or use Save as a file, which is named after the file you chose, for example talk-shifted.vtt.

Example

Paste this:

1
00:00:01,000 --> 00:00:03,000
Welcome to the fire safety course.

2
00:00:02,500 --> 00:00:04,000
Please read this carefully before you begin the test.

4
00:00:20,000 --> 00:00:19,000
Good luck!

The message line reads “SRT, 3 cues: 1 error, 4 warnings, 1 note.” The list says cue 1 overlaps the next one by 0.5 s; cue 2 reads at 35.3 characters per second (the limit is 17), has a line of 53 characters (the limit is 42), and is followed by a gap of 16 s; and cue 3 is numbered 4 where 3 was expected, and ends before it starts. Convert to WebVTT and the result starts with WEBVTT, followed by the same three cues with . in the times and no numbers. Shift by 1.5 and the first cue becomes 00:00:02,500 --> 00:00:04,500.

Good to know

It checks the text and the timing, not the pictures: it can’t tell whether captions match what’s said. The limits are guides, not rules: broadcasters and platforms set their own. WebVTT cue text such as voice tags is counted as tags and left out of the character counts; cue settings and regions aren’t checked. Overlaps are only a warning, as WebVTT allows them. A cue with a timing line that can’t be read is reported, and stops a convert, shift or stretch until it’s fixed. The format conversions don’t change the text itself.

    Convert, shift or stretch

    Stretch to fit: give two times as they are now and as you want them, such as the first and last cue.

    Private: this tool runs in your browser. Nothing you type, paste or choose leaves this page.

    Saved you a few minutes? Say thanks with a coffee.

    Something wrong with this tool, or missing from it? Report a bug or suggest a feature.

    ↑ ↓ move↵ openesc close