Convert VTT to CSV
Turn a WebVTT .vtt caption file into a CSV table for Excel, Google Sheets or Numbers — one row per cue, with index, start, end and text columns. Drop it below and it converts instantly in your browser.
Timestamps are written HH:MM:SS.mmm (a dot before the milliseconds, so they never clash with the comma delimiter), and a cue with more than one line is collapsed into a single cell with each break written as a literal \n. Nothing is uploaded — the file is built in your browser.
WebVTT captions in a spreadsheet
WebVTT is the caption format browsers use for HTML5 video, but it isn't a comfortable place to translate or bulk-edit text. Exporting the cues to CSV gives you a plain grid — one row per cue — that opens in any spreadsheet, so you can translate alongside the original, run a spell-check, or reword a batch of captions at once.
Each cue becomes a row with its index, start and end times and its text. Cue settings and positioning that WebVTT can carry aren't represented in the table — this is about the words and their timing. Timings are written HH:MM:SS.mmm and a two-line cue stays on one row with its break written as a literal \n.
To rebuild captions after editing, CSV to VTT turns the sheet back into a valid WebVTT file, ready for the <track> element.
FAQ
What ends up in the columns?
Four columns: index (the cue number), start and end (as HH:MM:SS.mmm), and text (the caption). One row per cue.
Are WebVTT cue settings kept?
No. The CSV table holds the words and their timing. Positioning, alignment and other cue settings aren't part of the spreadsheet model, so keep the original .vtt if you need them.
How are multi-line captions stored?
On a single row, with each line break written as a literal \n. The CSV to VTT tool turns those back into real line breaks.
Is my file uploaded anywhere?
No. The conversion runs in your browser. Your file never leaves your device and the page works offline.
Can I batch convert multiple files at once?
Yes. Drop several .vtt 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.