THE PRACTICAL SUBTITLE GUIDE

A clean subtitle file starts with a good timing check.

CaptionClean repairs the structure of an existing caption file. Use this workflow to decide what to change, understand what conversion keeps, and avoid fixing the wrong problem.

Start with a copy and a reference moment

Keep the original subtitle file untouched. Open your video and find a clear spoken phrase near the beginning. Compare the moment the phrase is spoken with the moment its caption appears. Repeat near the middle and end. This simple check tells you whether a constant offset is the right repair.

If every caption appears about half a second late, use an offset of -0.5 seconds. If every caption appears a second early, use +1 second. Positive values move captions later; negative values move them earlier. CaptionClean applies the same change to every cue, including multiline cues.

If the gap becomes progressively larger, the file may have been prepared for another edit or playback speed. A constant shift will not solve that drift. Use a subtitle editor with time stretching or retime the affected sections manually.

Choose SRT or WebVTT for the destination

SRT is a simple caption format accepted by many video editors and players. Each cue contains a number, a start and end timestamp, and one or more lines of text. Its timestamps use a comma before milliseconds:

1
00:00:01,250 --> 00:00:03,500
A clear first line.
A useful second line.

WebVTT starts with a WEBVTT header and uses a dot before milliseconds. It is commonly used by web video players. CaptionClean accepts both full hour timestamps and short WebVTT timestamps such as 01:05.250, then exports full timestamps for consistency.

Choose the output your destination accepts. Converting the extension alone is not enough: the timestamp separator and WebVTT header also need to change. CaptionClean does that and generates fresh cue numbers in the source order.

Clean spaces without merging captions

The space cleanup option trims each caption line and collapses repeated horizontal spaces or tabs. It preserves intentional line breaks. A two-line caption stays two lines, and separate cues stay separate. Disable this option when deliberate spacing carries meaning in your source.

The markup removal option is separate. It removes tags such as <i>, WebVTT voice tags, and common brace-based styling commands. It also turns common HTML entities into their text characters. Leave it off if you want to keep caption text markup for a compatible player. When tag removal would leave an empty cue, conversion stops so you can inspect the problem.

Watch what crosses the zero mark

There is no valid negative playback timestamp. When a negative offset moves a cue's start below zero but its end remains positive, CaptionClean clips the start to zero. If the cue ends at or before zero, it is omitted. The result includes a notice with the affected cue counts. When all cues would be omitted, the tool returns an error rather than an empty download.

These changes can shorten the opening caption. If that matters, choose a smaller offset or edit the opening cue separately. A notice is a prompt to review your result, not proof that the shortened caption will read well.

Know what a plain export leaves behind

CaptionClean exports timing and caption text. WebVTT cue settings for placement and alignment, cue identifiers, header metadata, NOTE blocks, STYLE blocks, and REGION blocks are not preserved. Conversion notices identify these omissions. A heavily styled caption track needs a dedicated editor if that information is essential. Inline WebVTT timing tags used for karaoke-style highlighting are rejected; remove or retime them in a subtitle editor before conversion.

Overlapping cues are preserved in their original order. They may be intentional, such as two speakers talking together. CaptionClean does not automatically sort, merge, or resolve them.

Finish with a video preview

Download the result and load it with the exact video you intend to share. Check the opening, middle, ending, long lines, overlaps, and any cues mentioned in notices. Confirm the words, language, line wrapping, timing, and placement. This tool checks basic structure; it does not assess translation accuracy, reading speed, or accessibility quality.

Files are read as UTF-8 text, up to 2 MiB. Processing stays in your browser. If a file shows garbled characters, re-export it as UTF-8 from your editor before trying again.

Open the caption repair desk