Skip to main content
SubtitleMatrix

CSV Subtitle Format

What this format can express

Text styling
Plain text only
On-screen positioning
No
Karaoke timing
No
Line breaks inside a cue
Yes
Timeline
Start and end time for every cue
Timing resolution
1 ms
Timing stored as frame numbers
No
Right-to-left text
Yes

Examples

A typical CSV file, and what is read out of it

File

start,end,text
00:00:01.000,00:00:03.500,The quick brown fox.
00:00:04.000,00:00:06.250,"Jumps over, the lazy dog."
00:00:07.000,00:00:09.000,"Two lines here.
And a second one."

What it holds

3 cues, 4 lines of text

  00:00:01.000 → 00:00:03.500
    The quick brown fox.
  00:00:04.000 → 00:00:06.250
    Jumps over, the lazy dog.
  00:00:07.000 → 00:00:09.000
    Two lines here.
    And a second one.

Outside the cues:
  header     start,end,text
  delimiter  ","

The right-hand side is not a converted file — it is what this site reads out of the left-hand side, and what every conversion of that file starts from.

An awkward CSV file, and what is still read out of it

File

id,start,end,note,text
1,00:00:01,000,00:00:04,000,cue one,"Hello there, friend."
2,00:00:05.000,00:00:07.000,cue two,Second line.
bad,notatime,00:00:09.000,cue three,Unreadable start.
4,00:00:10.000,00:00:09.000,cue four,End before start.
5,00:00:12.000,00:00:14.000,cue five,Unquoted comma in text, right here.

What it holds

4 cues, 4 lines of text

  00:00:01.000 → 00:00:04.000
    Hello there, friend.
  00:00:05.000 → 00:00:07.000
    Second line.
  00:00:10.000 → 00:00:10.001
    End before start.
  00:00:12.000 → 00:00:14.000
    Unquoted comma in text, right here.

Outside the cues:
  header     id,start,end,note,text
  delimiter  ","

Reported while reading — repaired or skipped, never silently:
  1 × rows whose start time could not be read (they were skipped)
  1 × cues whose end time was not after their start time (they were given a 1ms duration)

Real files arrive with a byte-order mark, Windows line endings, a stray line before a timecode, or a timecode that cannot be read at all. None of it throws: whatever cannot be understood is reported rather than dropped in silence.

Convert CSV Spreadsheet to another format

Each of these runs entirely in your browser. The labels say what that direction costs before you open it.

Convert CSV to JSON in your browser — nothing is lost in this direction.

Nothing is lost in this direction — every feature of the source format has somewhere to go in the target format.

Convert CSV to SBV in your browser — nothing is lost in this direction.

Nothing is lost in this direction — every feature of the source format has somewhere to go in the target format.

Convert CSV to SMI in your browser — nothing is lost in this direction.

Nothing is lost in this direction — every feature of the source format has somewhere to go in the target format.

Convert CSV to SRT in your browser — nothing is lost in this direction.

Nothing is lost in this direction — every feature of the source format has somewhere to go in the target format.

Convert CSV to TTML in your browser — nothing is lost in this direction.

Nothing is lost in this direction — every feature of the source format has somewhere to go in the target format.

Convert CSV to VTT in your browser — nothing is lost in this direction.

Nothing is lost in this direction — every feature of the source format has somewhere to go in the target format.

Converting into this format

CSV Spreadsheet is one of the subtitle formats this site handles, and this page is its reference: what it can store, what it cannot, and a page for every format you can convert it to.

The table above is the whole of it — there is no hidden feature list. When a row says no, that is exactly what is lost by converting into CSV, and each conversion page linked below says so before you open a file.

Every one of those conversions runs in your browser. Nothing is uploaded and no account is needed, which matters for material under an NDA, a patient record or a broadcast embargo.

Frequently asked questions

What is a CSV file?

`.csv` is a subtitle as a spreadsheet: a header row and then one row per cue with its start, end and text. It is what you reach for when a person has to read, edit or hand back timings in Excel or Google Sheets.

Does CSV store styling?

No — it stores cues, and a cue is text with two times on it. A spreadsheet cell holds text, so a tag left in one shows up as characters rather than as formatting.

Does every CSV cue store both a start and an end?

Yes, and a moment in a CSV file reads `00:00:04.126`. That is as fine as CSV goes — to the millisecond — and the number is exact, so a cue can be short, long, or overlap the next one without anything being implied.

Which formats can I convert CSV to without losing anything?

SRT, VTT, SBV, SMI, TTML and JSON — everything CSV can express, they can too. The table above is where that comes from: a row that says yes on both sides is a feature that survives. Every other direction drops something, and each of those pages names its own list.

Can I open a CSV file in a text editor?

Yes. Yes — though in practice you open it in a spreadsheet rather than a text editor. The columns are `start`, `end` and `text`, and the times read `00:00:01.000`.