Skip to content

Convert SRT or VTT subtitles to CSV

Paste a subtitle file and get a spreadsheet: one row for every cue, with its number, start, end, duration, character count, characters per second and text. Open it in Excel or Google Sheets to review, translate or count.

Loading the tool…

Processed in your browser. Your file is never uploaded.

The columns

#,start,end,duration_s,characters,chars_per_second,text
1,00:00:01.000,00:00:03.500,2.500,20,8.0,Welcome to the show.
2,00:00:04.000,00:00:07.250,3.250,55,16.9,"Today we are talking about <i>subtitle files</i>, and why they break."

Times are written hh:mm:ss.mmm with a dot, whichever format the file came in, so the comma in an SRT time never has to be quoted. Duration is in seconds. The character count ignores formatting tags and joins the lines of a cue with a space; characters per second is that count divided by the duration, the figure subtitle style guides limit.

What people do with it

  • Translation and review. Send the text column to a translator or a reviewer in a spreadsheet, with the cue number as the key that says where each line goes back.
  • Finding the problem cues. Sort by characters per second to bring the fastest cues to the top, or by duration to find the ones that flash past.
  • Counting. Word and character totals, cues per minute, and the longest line are a formula away. For a quick count without a spreadsheet use the word counter.
  • Handing a transcript to a team that works in spreadsheets rather than subtitle tools.

Options that matter

Separator. Comma suits Google Sheets and Excel in the US and UK; semicolon suits Excel where the decimal separator is a comma; tab gives a TSV that opens anywhere. Lines inside a cue. Joining with a space gives one tidy line per cell. Keeping the line breaks preserves the layout of a two-line subtitle, inside a quoted cell. Formatting tags. Tags such as <i> are removed by default so the text column holds only words.

VTT too, and what is lost

VTT files work the same way. Cue settings (positioning), notes and styles are not part of the spreadsheet, so a round trip through CSV is not lossless. Treat the CSV as a view of the text and times, and keep the original subtitle file as the master. To get plain text without any timing, use the SRT to text tool.

Opening the file

In Google Sheets, use File, then Import, and upload the file you downloaded, or paste the text from the box into a cell and split it by the separator. In Excel, double-clicking a CSV usually works when the separator matches your region's list separator; if everything lands in the first column, change the separator here and download again. Set the time columns to plain text if your spreadsheet turns 00:00:01.000 into a time of day. Nothing about this happens on a server: the file is built in the page and handed to your browser as a download.

If you only have the recording

Scriptorium exports a CSV straight from a transcript as well, so you do not need a subtitle file as a stepping stone. When you do have one, transcript file formats explained covers how the formats differ.

Questions

Why does the CSV start with an invisible character?

The downloaded file begins with a byte-order mark, a marker that tells Excel the file is UTF-8. Without it Excel often shows accents and non-Latin text such as Arabic as garbage. Other programs ignore it. The text you copy from the box has no mark.

Why do some cells start with a space?

Dialogue lines often start with a hyphen (- Ready?), and a spreadsheet reads text that starts with = + - @ as a formula, which shows an error or runs something. The leading space prevents that. Untick the option if you want the text exactly as it is.

Excel put everything in one column. What do I do?

Excel in many European regions expects semicolons, not commas. Choose the semicolon separator and download again, or use Excel's text-to-columns. Google Sheets reads commas.

Can I convert the CSV back to SRT?

Not with this tool. After translating or editing the text column, the subtitle editor lets you paste corrected text cue by cue, and the cue numbers and times in the CSV tell you where each line belongs.

Do not have the subtitles yet?

Scriptorium listens to the audio or video and writes the transcript for you, with timestamps, then exports it as an SRT or a VTT file. Try it free.

More pages like this