Subtitle to Text
Processed locally in your browser — nothing is uploaded.
Quick answer
Subtitle to Text extracts a clean, plain-text transcript from any caption file. Drop in an SRT, VTT, ASS/SSA, SBV, TTML or LRC and the tool strips the timecodes, cue numbers and styling tags, leaving one caption per line. The whole thing runs in your browser — the file is parsed in memory and never uploaded — so you get a readable transcript you can copy, translate or paste anywhere.
How to subtitle to text
Add your subtitle file
Drag any .srt, .vtt, .ass, .sbv, .ttml or .lrc file onto the drop zone, or paste the subtitle text straight in. The format is detected automatically.
Extract the text
The tool discards timestamps, cue numbers and markup, then prints the spoken lines — one caption per line — in the preview.
Copy or download
Copy the transcript to your clipboard or download it as a .txt file, ready for a document, a translator or another tool.
What does the transcript actually contain?
A subtitle file is a transcript wrapped in timing. Every cue has three parts a reader does not want: a cue number, a timecode range like 00:01:04,120 --> 00:01:06,900, and sometimes styling tags such as <i>, {\an8} or <font color>. This tool keeps only the words. It reads the file into a common list of cues, throws away the metadata, unwraps the inline tags, and emits the dialogue as flat text — one caption per line, in order.
You can keep each cue on its own line, which mirrors the original pacing, or join everything into flowing paragraphs when you want prose rather than caption-shaped fragments. Either way the words are identical to what was on screen.
Why turn subtitles into plain text?
A transcript is far more useful than a caption file once you step outside a video player:
- Reading — skim a talk, lecture or interview in seconds instead of scrubbing the video.
- Translation — paste clean text into a translator without timecodes confusing the output.
- Repurposing — turn a video’s captions into a blog post, article, show-notes or a newsletter.
- Feeding other tools — supply plain text to a summariser, a search index or a keyword extractor.
- Accessibility — publish a text alternative alongside the video for screen-reader users.
| Element in the file | Example | In the transcript? |
|---|---|---|
| Cue number | 42 | Removed |
| Timecode range | 00:01:04,120 --> 00:01:06,900 | Removed |
| WEBVTT / script header | WEBVTT, [Script Info] | Removed |
| Styling & positioning tags | <i>, {\an8}, <font> | Removed (text kept) |
| Spoken caption text | So here is the plan. | Kept, one per line |
Which formats can it read?
Because every format is parsed into the same internal cue model before the text is pulled out, the source could be SubRip (.srt), WebVTT (.vtt), SubStation Alpha (.ass/.ssa), SubViewer (.sbv), TTML/DFXP or a lyrics file (.lrc). Each carries timing and markup differently, but the extracted transcript looks the same regardless of where it started. If you need the file in another subtitle format rather than as text, use the subtitle converter instead.
Is my subtitle file uploaded?
No. The extraction is ordinary JavaScript running on your own device: the file is read, parsed and reduced to text in memory, with no network request. You can prove it — open your browser DevTools, switch to the Network tab, and run an extraction. Nothing is sent. That matters when the captions belong to an unreleased film, a confidential deposition or a client’s private recording.
Related subtitle tools
Going the other direction — a transcript you want to re-time into cues? Use text to subtitle. To measure a file before translating it, the subtitle word count reports words, cues and duration. And if you only have the video, first extract the audio from a video to transcribe it elsewhere, then bring the captions back here.
Your files never leave your device
Processed locally in your browser — nothing is uploaded. You can verify it yourself: open your browser’s developer tools, watch the Network tab, and use the tool — no upload request is ever made.
Frequently asked questions
Does the transcript keep the timestamps?
No. Removing the timecodes is the point — the tool outputs only the spoken lines, one caption per line, with every `-->` timing range stripped out.
Can I extract text from an ASS or SSA file?
Yes. SubStation Alpha is fully supported. The dialogue is extracted and its override tags like `{\an8}` or `{\i1}` are unwrapped so only the words remain.
Will italic and bold tags appear in the text?
No. Inline styling such as `<i>`, `<b>` and `<font>` is removed while the text inside it is preserved, so you get clean prose rather than markup.
Can I get one continuous paragraph instead of one line per cue?
Yes. Choose the joined-paragraph option and consecutive cues are merged into flowing text; the default keeps one caption per line to mirror the original pacing.
Does it work with LRC lyrics files?
Yes. The per-line timestamps in an .lrc are stripped and you are left with the plain lyric lines, which is handy for printing or translating song words.
Is the wording changed in any way?
Never. Only structure and markup are removed. The caption text itself is copied through character-for-character.
Are my files sent to a server to extract the text?
No. Everything runs locally in your browser. Check the Network tab of your developer tools and you will see no upload request during extraction.