Convert CSV to SRT
Finished editing or translating your subtitles in a spreadsheet? Turn that CSV — with index, start, end and text columns — back into a ready-to-use SubRip .srt file. Drop it below; it parses and rebuilds the subtitles 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 spreadsheet back to subtitles
This is the return trip for anyone who edits subtitles in columns. Export your .srt with the SRT to CSV tool, translate or clean up the text in Excel or Google Sheets, then bring the sheet back here to rebuild a proper SubRip file with all the original timings.
The tool reads four columns — index, start, end and text. A header row is optional: if the first row names its columns it's used as a guide, and if it doesn't the tool works out the layout from the first row of data. Timestamps may be written with a dot (00:00:01.000) or a comma (00:00:01,000), and a literal \n in a text cell is turned back into a line break.
Every row is checked: if a row's start or end time isn't a valid timestamp it's skipped and the count is reported, so a stray header or a blank line can't quietly corrupt the output.
FAQ
What columns does my CSV need?
Index, start, end, and text, in that order. The index column is optional — cues are renumbered on export anyway — but start, end, and text are required. A header row naming the columns is welcome but not required.
Which timestamp formats are accepted?
HH:MM:SS.mmm (dot) and HH:MM:SS,mmm (comma) both work, as does the shorter MM:SS.mmm. If a comma-style timestamp sits in a comma-separated file, keep it in a quoted cell so the comma isn't read as a column break.
What happens to a bad row?
If a row's start or end isn't a valid timestamp, that row is skipped and the number of skipped rows is shown in the status line, rather than being guessed at or silently dropped.
Is my file uploaded anywhere?
No. Parsing and rebuilding happen in JavaScript inside 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.