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.
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.