SRT to Plain Text

Paste an .srt or WebVTT subtitle file and get just the spoken transcript. Cue numbers, timestamp ranges and blank separators are removed locally in your browser.

Try:
Transcript

About this tool

SRT to Plain Text turns subtitle files into readable transcript text. Paste a SubRip (.srt) or WebVTT file and it removes the structural parts of each cue: cue numbers, timestamp ranges such as 00:00:01,000 --> 00:00:04,000, blank separators, WebVTT headers and note/style blocks.

Use it to clean captions before editing a transcript, feeding text into a note app, summarizing a video, translating dialogue, or removing timestamps from an exported subtitle file.

Options

Worked example

Input:

1
00:00:01,000 --> 00:00:04,000
<i>Hello there.</i>

2
00:00:05,500 --> 00:00:07,250
[applause] JOHN: Welcome back.

With tag stripping, sound-effect removal and speaker-label removal enabled:

Hello there.
Welcome back.

FAQ

Does this support WebVTT as well as SRT?

Yes. It recognizes WebVTT timing lines with dot milliseconds, skips a leading WEBVTT signature, and drops NOTE/STYLE header blocks. It is not a full VTT converter; it focuses on extracting transcript text.

Will it remove every timestamp in the file?

It removes subtitle timing lines shaped like start --> end where both sides are SRT/WebVTT timestamps. Ordinary text that happens to contain a time is kept, because only cue timing lines are considered structure.

Why are speaker labels optional?

A leading NAME: pattern is a heuristic. It is useful for captions such as NARRATOR: It begins, but it can be wrong if the dialogue itself starts with a colon-shaped phrase. Leave it off unless your subtitles consistently include speaker labels.

Can it keep cue breaks instead of making one line per cue?

Yes. Choose Preserve cue blocks to keep the original line breaks inside each caption and put a blank line between cues. Choose One paragraph to join the whole transcript into a single flowing block.

Limits

Developer & Automation Access

Run it from the terminal

Same engine as this page, headless — via the gizza CLI:

gizza tool srt-to-plaintext "1
00:00:01,000 --> 00:00:04,000
Hello there.

2
00:00:05,500 --> 00:00:07,250
Second caption line."

New to the CLI? Get gizza →

Open it by URL

Pre-fill and auto-run this tool with query parameters — the names match the API/CLI:

https://gizza.ai/tools/srt-to-plaintext/?input=1%0A00%3A00%3A01%2C000%20--%3E%2000%3A00%3A04%2C000%0AHello%20there.%0A%0A2%0A00%3A00%3A05%2C500%20--%3E%2000%3A00%3A07%2C250%0ASecond%20caption%20line.&layout=lines&strip_tags=true&remove_sound_effects=true&remove_speaker_labels=true&dedupe=true

Machine-readable descriptor: tool.json — title + parameters JSON Schema for agents.