Bilingual Caption Doctor

Preserve WebVTT metadata during a repair

WebVTT carries more than caption words and timestamps. A file can include a header, cue identifiers, comments, styles, regions and positioning settings. Flattening it to plain text can discard information even when the captions still look readable.

Supported preservation

Caption Doctor retains the WEBVTT header, NOTE blocks, STYLE and REGION blocks before cues, cue identifiers, cue payload and supported timing-line settings. The vtt-note, vtt-style, vtt-region and vtt-settings fixtures provide small original examples. A fixed offset changes the main start and end timestamps while keeping those other fields.

The text preview is deliberately limited. It shows stored caption payload as text rather than executing markup. It does not apply arbitrary cue CSS or claim to reproduce region placement.

Why some exports are blocked

Inline karaoke timestamps and X-TIMESTAMP-MAP metadata need coordinated timing changes beyond the main cue timestamps. Unknown cue settings or ambiguous cue boundaries also cannot be safely interpreted by this version. Diagnostics remain available, but export is blocked with an explanation.

Keep the original file. If export is blocked, use an editor that supports the feature or deliberately simplify a separate copy. Do not remove metadata merely to make the diagnostic warning disappear. This tool does not convert WebVTT to SRT; retaining the source format avoids an implicit lossy conversion.

Tested examples: vtt-note,vtt-style,vtt-region,vtt-settings,vtt-karaoke,vtt-mapping. Original synthetic fixtures maintained with the tool.