Convert CSV to VTT

Turn a CSV of captions — with index, start, end and text columns — into a WebVTT .vtt file for HTML5 video. Edit or translate in a spreadsheet, then drop the CSV below to rebuild captions in your browser.

Drop your .csv file here
or click to choose a file · or paste the text below

Columns are read as index, start, end, text. A header row is optional. Timestamps may use a dot or a comma before the milliseconds, and a literal \n in the text cell becomes a line break. Any row whose start or end isn't a valid timestamp is skipped and reported rather than guessed at. It all runs in your browser.

From a spreadsheet to web captions

This closes the loop for captioning web video from a spreadsheet. Edit or translate your cues in Excel or Google Sheets — the original in one column, the translation in another — then convert the CSV here into a WebVTT file that drops straight into an HTML5 <video> <track>.

The tool reads four columns: index, start, end and text. A header row is optional, timestamps may use a dot or a comma before the milliseconds, and a literal \n in a text cell becomes a line break. The output carries the required WEBVTT header and dot-style timings automatically.

Rows are validated as they're read: if a row's start or end isn't a real timestamp it's skipped and counted, so a header line or a blank row won't turn into a broken cue.

FAQ

What columns does the CSV need?

Index, start, end and text. Index is optional; start, end and text are required. A header row naming the columns is welcome but not necessary.

Do I need to write the WEBVTT header myself?

No. The tool adds the WEBVTT header and formats every timestamp with the dot that WebVTT requires, so the output is a valid caption file straight away.

Which timestamp formats are accepted?

HH:MM:SS.mmm and HH:MM:SS,mmm both work, as does MM:SS.mmm. A comma-style timestamp in a comma-separated file should sit in a quoted cell so its comma isn't read as a column break.

Is my file uploaded anywhere?

No. Parsing and building the .vtt happen in your browser. Your file never leaves your device and no server is involved.

Can I batch convert multiple files at once?

Yes. Drop several .csv files together and they'll each be converted and returned in a single ZIP, all in your browser. It's the same conversion as single files, just in bulk.

You might also need