Auto-generated and downloaded captions are rarely perfect. Open a subtitle file, optionally next to its video, and correct the text, timing and sync cue by cue, with checks that flag overlaps, long lines and fast reading speeds before you save.
Processing locally on your device
Overview
A subtitle file is a list of cues, each with a start time, an end time and a line or two of text. The editor shows them as a table: every cue has editable start and end times (type values such as 00:01:02.500) and a text box, with its duration and reading speed in characters per second underneath. You can start from an existing SRT or VTT file, paste subtitle text, or begin with an empty file and write captions from scratch.
Adding the video is optional but makes timing much easier. It plays locally, never uploaded or re-encoded, with the current cues drawn over it. The cue under the playhead is highlighted and kept in view while playing, clicking a row jumps the video to that cue, and new cues are inserted at the playhead. Split divides the selected cue at the playhead (or in the middle), Merge joins it with the next one, and every structural change can be undone.
Sync problems come in two kinds. A constant offset, where every line is half a second late, is fixed by shifting all cues at once. Drift, where captions start in sync and slowly fall behind, usually means the file was timed for a release with a different frame rate. The stretch presets cover the common pairs (25 ↔ 23.976, 25 ↔ 24 and 24 ↔ 23.976 fps), and a custom factor handles anything else. A 25 → 23.976 stretch, for example, lengthens all timings by about 4.3%.
The checks panel counts cues that overlap the next one, end before they start, have no text, contain a line longer than 42 characters, or need reading faster than 20 characters per second, which are common broadcast and streaming guidelines. Export as SRT or WebVTT, keeping VTT position settings if the file had them, then download the file or copy the text.
| Guideline | Typical value |
|---|---|
| Lines per cue | 1–2 |
| Characters per line | Up to about 42 |
| Reading speed (adults) | About 15–20 characters per second |
| Minimum duration | About 1 second |
| Maximum duration | About 6–7 seconds |
| Gap between cues | At least 2 frames |
Open an SRT or VTT file, paste subtitle text, or start with an empty file.
Optionally add the video to preview cues while it plays.
Click a cue to jump to it, then edit its text and start and end times.
Split, merge, add or delete cues, and shift or stretch all timings to fix sync.
Review the checks, choose SRT or VTT, and download or copy the result.
Use cases
Correct names, jargon and punctuation in captions generated by YouTube, Zoom or a speech-to-text tool before publishing a lecture, webinar or podcast video.
Fix a file that runs a second late with a global shift, or one that drifts further out of time because it was made for a 25 fps release, with a stretch preset.
Play the clip, press Add cue at playhead for each line, type the text and adjust the end times. It is a fast way to caption a one-minute social video.
Use the checks to bring captions in line with typical limits for line length and reading speed for courses, public sector videos and corporate training.
Pro tips
Answers to common questions about the subtitle editor.
A common target for adult viewers is 15–20 characters per second, with at most two lines of about 42 characters. The editor flags any cue above 20 characters per second so you can lengthen it or trim the text.
Drift usually means the file was timed against a different frame rate or a different cut of the film. Stretching every timestamp by the ratio of the two frame rates, such as 25 to 23.976, keeps the start in sync and fixes the end too.
The editor works with SRT and WebVTT. To turn an ASS file into SRT or VTT first, use the SRT ↔ VTT converter, which keeps its text and timing.
No. The video is only played in the browser for reference. The output is a new subtitle file, and the video file stays exactly as it was.
Yes. When exporting as VTT, cue settings such as alignment and position from the original file are kept unless you switch that option off. SRT has no equivalent, so they are dropped there.
No. ToolEnhancer processes files on your own device inside the browser. They are never sent to, stored on or seen by our servers.
Yes. The subtitle editor is free to use with no sign-up, no watermarks and no daily limits.