Open an SRT File and Get the Transcript Out

An .srt file is plain text, so it opens in Notepad — and comes out as an unreadable wall of numbers and timecodes. Drop one below to read every subtitle properly, with its timing, and to export just the words as a clean transcript. Text encoding is detected rather than guessed, so accented characters survive. The file is read in your browser and never uploaded.

Drop a .srt or .vtt file here
or click to choose a file · read on your device · nothing is uploaded

What an SRT file is

SubRip Text (.srt) is the oldest and most widely supported subtitle format, and among the simplest. Each subtitle is four parts: a sequence number, a timing line, one or more lines of text, and a blank line separating it from the next. A timing line reads 00:01:23,456 --> 00:01:26,789 — hours, minutes, seconds, then milliseconds after a comma.

WebVTT (.vtt) is the format browsers use for HTML5 video. It is the same idea with three differences: a WEBVTT header line, a full stop instead of a comma before the milliseconds, and optional cue settings for positioning. Both are read here.

Because .srt is plain text with no header declaring its character set, the encoding is genuinely ambiguous — which is the single biggest source of broken subtitles.

How to open an SRT file

  1. Open the subtitle file. Drop the .srt or .vtt onto the box above, or click to browse. The character encoding is detected from the bytes, so a file saved in a legacy code page still reads correctly.
  2. Read the subtitles. Every subtitle is listed with its start time, formatting tags removed. The summary above shows the count, the word total and where the last subtitle ends.
  3. Take the transcript. The Transcript box holds just the words, with no numbers or timecodes. Copy transcript puts it on your clipboard; Save as .txt writes it to a file.
  4. Export the timings. Save as CSV writes index, start, end, both times in milliseconds and the text, ready for a spreadsheet. Save clean .srt re-emits the file as UTF-8 with sequential numbering.

What comes out

Exports: plain text for the transcript, CSV with millisecond timings for analysis or re-timing, and a cleaned-up .srt written as UTF-8 with sequential numbering.

What is supported, and what is not

Supported: .srt (SubRip) and .vtt (WebVTT), in UTF-8, UTF-8 with a byte-order mark, UTF-16 in either byte order, and Windows-1252.

Encoding is determined, not guessed. UTF-8 is attempted strictly first: if the bytes are not valid UTF-8 the decoder fails, and that failure is itself the evidence that the file uses a legacy single-byte encoding. Guessing the other way round is what turns every accented character into mojibake. A byte-order mark is removed rather than being left attached to the first subtitle’s number, which is the usual reason the very first subtitle silently vanishes.

Line endings are normalised before parsing. A file authored on Windows and edited on a Mac can contain CRLF, LF and CR in the same document, and splitting on newlines alone leaves a stray carriage return on every cue.

Not supported: subtitles embedded inside a video file (.mkv, .mp4), which have to be demuxed first, and image-based subtitles such as VobSub and PGS, which are pictures of text rather than text. ASS and SSA files parse for their timings but their styling blocks are not interpreted.

Why the file is never uploaded

The subtitle file is read from your disk and parsed in your browser. No server takes part.

For subtitles this is mostly about speed and reliability rather than secrecy — an entire film’s subtitles are a few hundred kilobytes and parse in a few milliseconds, so waiting on an upload and a round trip is pure delay. It does matter for unreleased material: subtitles for an unaired episode or an unpublished interview are exactly the sort of thing that should not be handed to a stranger’s server.

What this tool does not do

This is a reader and a converter, not an editor. Four boundaries:

Only the first 300 subtitles are drawn in the timing table. A feature film runs to roughly 1,500 cues and rendering all of them stalls the page for no benefit — the transcript and every export still contain all of them.

Why people open subtitle files

SRT compared with VTT, ASS and embedded subtitles

.srt is text with timings and almost no styling, and plays everywhere. .vtt is the browser format for HTML5 video — the same structure with a header, a full stop before milliseconds, and positioning options. .ass and .ssa add fonts, colours, positioning and karaoke effects, which is why anime releases use them. Embedded subtitles live inside the .mkv or .mp4 itself and are not separate files at all.

To read text pictured in an image rather than stored as text, use image to text OCR. If your subtitles arrived inside a zip, open it with the ZIP extractor first. For pulling every URL or email out of the transcript once you have it, use the email and URL extractor.

SRT format standards and subtitle edge cases

SRT (SubRip Text) is a de-facto standard with no formal RFC. Each entry has a sequence number on its own line, a timecode line in the format HH:MM:SS,mmm --> HH:MM:SS,mmm, one or more subtitle lines, and a blank line as a separator. The comma separates seconds from milliseconds — unlike WebVTT, which uses a dot.

Three edge cases: (a) CRLF, LF and bare CR line endings are all normalised before parsing — all three occur in real SRT files distributed across different operating systems; (b) SRT supports inline HTML-like tags (<b>, <i>, <u>, <font color="...">) — these are stripped from the plain-text view but preserved in the raw export; (c) WebVTT files (.vtt) begin with a mandatory WEBVTT header line and use dot-separated milliseconds — the extractor detects that header and switches to the VTT parser automatically, so both subtitle formats can be dropped on the same page without manually selecting a format.

Frequently asked questions

How do I open an SRT file?

Drop it onto this page. Every subtitle is shown with its timing, and the transcript is available separately with the numbers and timecodes stripped out.

How do I get a transcript from a subtitle file?

Open the file here and use the Transcript box, which contains only the dialogue. Copy it or save it as a .txt file.

Why are the accented characters in my subtitles wrong?

The file is almost certainly saved in a legacy encoding such as Windows-1252 while the player is reading it as UTF-8. This tool detects which it is and says so, and Save clean .srt re-writes the file as UTF-8.

What is the difference between .srt and .vtt?

WebVTT is the format browsers use for HTML5 video. It adds a WEBVTT header line, uses a full stop instead of a comma before the milliseconds, and allows positioning settings. Both open here.

Can I extract subtitles from an MP4 or MKV video?

Not here. Subtitles inside a video are part of the container and need demuxing with a tool like MKVToolNix or ffmpeg. This reads separate subtitle files.

Is my subtitle file uploaded?

No. It is read and parsed inside your browser, which is also why it is instant.

Why did my first subtitle disappear in another tool?

Almost always a byte-order mark. Those three invisible bytes at the start of the file attach themselves to the first subtitle's number, so the parser cannot recognise it. This tool removes the mark before parsing.

Can I use the timings in a spreadsheet?

Yes. Save as CSV writes the index, start and end as timecodes, both again in milliseconds, and the text.

What does 'overlapping' mean in the summary?

One subtitle starts before the previous one has finished. Players handle it inconsistently — some stack the lines, some cut the first short — so it is worth knowing about before you blame the player.

• Specialist file parsing & security engineer • Verified: in our experience, our hands-on testing measured and verified private in-browser execution with zero file uploads • Last reviewed July 2026.