Export Subtitles as a Plain Text Transcript
Or paste subtitle text
Options
Milliseconds of silence between one cue ending and the next one beginning. Reach it and the transcript starts a new paragraph; stay under it and the two are read as one continuous piece of speech. The number decides how the text reads, not what it says: 2000 keeps a sentence together when the subtitles chop it across three or four cues, while 0 puts every cue on a paragraph of its own. A pause is measured against the last cue that had any words in it, so a blank cue sitting in the middle does not break a paragraph in two.
Off by default, which gives you a plain block of text you can paste straight into a document. Switch it on and every paragraph is prefixed with [HH:MM:SS] — the start time of the first cue in that paragraph, to the second, with no milliseconds. A reader uses that stamp to find the moment again in a player, and the start is the only one of the three candidates (start, middle, end of the paragraph) that lines up with what the player shows.
Which frame rate the timings are counted in. On the format pages this is what MicroDVD needs, because it stores timing as frame numbers. On the frame rate pages it is the rate the file was timed against — the version the subtitles were made for — and the page's second box takes the rate of the video you are going to use them with. 23.976, 24, 25, 29.97, 30, 50, 59.94 and 60 are the common ones. Getting it wrong shifts the whole timeline, and on the frame rate pages it shifts it by a ratio rather than by a fixed amount.
This page reads a subtitle file and hands back the same words as flowing paragraphs of plain text: the line breaks that were only on the screen are joined up, and cues that follow each other closely are read as one continuous passage. Drop in the file, run it, and what comes out is a block of prose you can paste into minutes, a review sheet or an article. Nothing leaves the browser tab, so material that cannot be uploaded stays where it is.
The one thing to be clear about is the line break. A subtitle file uses a line break for a reason that has nothing to do with the sentence: the line was getting too long for the screen, so it was cut and the two halves were balanced. Saving a subtitle file as .txt keeps those breaks and puts one cue on one line, which is what you want if the text is going back into a player. A transcript is read by a person on a page, where a break in the middle of a sentence is noise, so this page joins them. Two halves of a sentence come out as one line, and there is no way to tell afterwards where the screen break used to be.
Paragraphs are decided by silence, not by cue. One paragraph per cue would break a sentence every three or four seconds, because a normal subtitle file cuts a single spoken sentence into several cues so each one can fit the timing. Instead the page looks at the gap between one cue ending and the next one starting: a gap of about two seconds opens a new paragraph, and anything shorter keeps the words running. That number is in the box and it is the one setting worth thinking about — set it lower for rapid back-and-forth dialogue and higher for a lecture with long pauses inside a single thought. Setting it to zero puts every cue in a paragraph of its own, which is the closest this page gets to one line per cue.
There is also a switch for adding a start time to each paragraph, off by default. Turning it on puts a stamp like [00:42:17] in front of every paragraph, read off the first cue in that paragraph. It goes to the second and drops the milliseconds on purpose: the stamp is there so a reader can find that moment again in a player, and 00:42:17 does that. A stamp on every cue instead would turn the transcript back into a subtitle file with extra punctuation.
What the page will not do is put a name on anything. None of the subtitle formats read here records who is speaking — SRT, WebVTT, ASS, SSA, SBV, SAMI, MicroDVD, TTML, JSON and CSV all store a time and some text, and any label in that text is something a human typed inside the words. So a transcript from this page carries no speaker names, and nothing is guessed at from the shape of the lines to invent them. Cues holding nothing at all are skipped rather than left in as blank paragraphs, and every line is trimmed, so you will not find stray runs of spaces where a cue was cut short.
Examples
Two cues that read as one sentence
Input
1
00:00:01,000 --> 00:00:03,000
I missed the last train home
and had to walk.
2
00:00:03,400 --> 00:00:05,000
Back before midnight,
you said.
3
00:00:09,000 --> 00:00:11,000
Every night this week?
Output
I missed the last train home and had to walk. Back before midnight, you said.
Every night this week?
Three cues in, two paragraphs out. The first two cues are 400 ms apart, well inside the two-second pause, so they stay in one paragraph and each cue's own two display lines are joined into a single line. The third cue follows a four-second gap and opens a second paragraph. All the words are still here — what changed is which line breaks survived.
A pause of exactly two seconds
Input
1
00:12:30,000 --> 00:12:32,000
The train was late
again.
2
00:12:34,000 --> 00:12:36,000
Third time this week.
Output
The train was late again.
Third time this week.
The second cue starts two seconds after the first one ends, which is exactly the number in the pause box, and that is the moment a new paragraph begins. This is the example to look at if you are checking the page's arithmetic: move the box to 2500 and these two run together into one paragraph, because a two-second gap no longer reaches the threshold.
The same file with start times added
Input
1
00:02:15,000 --> 00:02:17,000
Here is where
we came in.
2
01:47:52,000 --> 01:47:55,000
And here is
where we leave.
Output
[00:02:15] Here is where we came in.
[01:47:52] And here is where we leave.
With the time stamp switch on, each paragraph is prefixed with the start time of the cue that opens it, to the second. The second paragraph is nearly two hours in, and it shows why the hour is written out rather than counted up in minutes: 01:47:52 tells a reader where to scrub to, and 107:52 does not.
Frequently asked questions
How is this different from saving my subtitles as a .txt file?
The line breaks. Saving a subtitle file as .txt keeps the file's own breaks and writes one cue per line, because that output is meant to be read back as a subtitle file. This page does the opposite: it joins the display breaks inside a cue into one line, and then joins whole cues into paragraphs wherever the pause between them is short. The words are identical either way. If you need the original line breaks preserved, the conversion to plain text is the page you want; if you want something a person can read as prose, it is this one.
How does the page decide where one paragraph ends and the next begins?
By the silence between cues, not by the cues themselves. The page measures the gap between one cue ending and the next one starting, and opens a new paragraph when that gap reaches the number in the pause box, which starts at 2000 ms. Cues closer together than that are read as one continuous passage. Cue-by-cue paragraphs would be wrong here, because a single spoken sentence is normally cut into three or four cues so each can fit its own timing, and a paragraph break every few seconds is not what a transcript looks like.
What does setting the pause to zero do?
Zero is a real value, not an empty box: every gap reaches it, so every cue becomes a paragraph of its own. That gives you the closest thing this page has to one line per cue, with the added benefit that each cue's internal display breaks are still joined up. It is the setting to pick when the file is a list of separate statements rather than continuous speech — a set of slides, or answers in a structured interview — and you want each one standing alone.
Why are the time stamps only accurate to the second?
Because a stamp in a transcript is a bookmark, not a cut point. It is there so a reader can find that passage again in a player, and in a programme that runs an hour, 00:42:17 is already precise enough to land on the sentence — the milliseconds would add four characters to the start of every paragraph without changing where anyone scrubs to. A stamp on every cue, to the millisecond, is what a subtitle file is for, and the file you dropped in already has that.
Will speaker names appear in the transcript?
No, and not because the page leaves them out. None of the formats read here has a field for who is speaking: SRT, WebVTT, ASS, SSA, SBV, SAMI, MicroDVD, TTML, JSON and CSV all store a time range and some text. Where a file does name a speaker, the name was typed into the dialogue itself, usually in capitals or with a dash in front, so it comes out in the transcript exactly where the file put it and nowhere else. Nothing is inferred from the shape of the lines — a guess presented as a speaker label would be worse than no label at all.
What happens to a cue that contains no text?
It is skipped and leaves no trace, not even a blank line. A cue with nothing in it usually exists for positioning rather than for reading, and if it were kept, the transcript would show a hole in the middle of a sentence with no explanation. Skipping it does not disturb the paragraphing either: the pause that decides paragraphs is measured against the last cue that actually had words in it, so a blank cue sitting between two spoken ones does not split them apart.
Does the transcript keep the line breaks that were on screen?
No, and this is the one thing the page does that you cannot undo afterwards — the positions of those breaks are not in the output anywhere. They were a layout decision made to fit a screen width, and a reader on a page wants sentences, not screen widths, which is why the page resolves them. If you need a copy of the file that still has them, take the plain text conversion instead: it keeps every break exactly as the file wrote it, one cue per line.