Skip to content
TextArray
100% local

SRT to plain text

Turn SRT and VTT subtitles into a clean transcript without numbers or timestamps.

Input

SRT to plain text

Paste the contents of an .srt or .vtt subtitle file and get a clean, readable transcript. The tool removes cue numbers, arrow timestamps like 00:00:01,000 --> 00:00:03,000, WEBVTT headers, NOTE and STYLE blocks, cue settings and formatting tags such as <i>, <font> or {\an8} — leaving only the spoken text. Use it to read a film script, quote dialogue in an article, hand a lecture transcript to a translator or a summariser, or index video content for search.

Three layouts cover the common needs. Keep line breaks preserves each subtitle line the way it was timed, one line per cue joins the two or three lines of each cue, and merge into one paragraph produces a single flowing block. Two optional cleanups target SDH subtitles: remove speaker labels strips uppercase prefixes like MARY: or MAN 2:, and remove sound descriptions drops [dramatic music], (laughs) and whole ♪ lyric lines.

The parser is forgiving. Windows and Unix line endings both work, a byte-order mark is ignored, and a numeric line only counts as a cue number when it sits directly above a timing line — dialogue that happens to be a number survives. Even a sentence containing an arrow is kept, because timing lines are recognised by their full timestamp pattern, not by the arrow alone. The tally under the output shows how many cues were found, how the line count changed and how long the transcript is.

Everything runs in your browser. Subtitles often come from private footage, internal training or unreleased material, and none of it is uploaded anywhere — copy the finished transcript or download it as a .txt file.

FAQ

Does it support WebVTT as well as SRT?
Yes. WEBVTT headers, cue identifiers, cue settings and NOTE or STYLE blocks are removed along with SRT cue numbers, so you can paste either format — even a mix of both.
How are speaker labels recognised?
A label must be entirely uppercase and end with a colon, like MARY: or MAN 2:. Mixed-case prose such as "Note: check this" and times of day like 10:30 are left alone.
What happens to a subtitle that is just a number?
It stays. A numeric line is only treated as a cue counter when it sits directly above a timestamp line, so dialogue like "1234" survives the cleanup.
Is my subtitle file uploaded anywhere?
No. The tool runs entirely in your browser and your text never leaves your device.