FormatDrop
Document Format

SRT

SubRip Subtitle File

SRT (SubRip Text) is the most universally supported subtitle format — a plain-text file containing numbered subtitle entries with timecodes and text. Every video player, streaming platform, and video editor that supports external subtitles accepts SRT. It's simple, human-readable, and requires no special software to create or edit. SRT files are used for subtitles, closed captions, translated dialogue, and accessibility captions.

What is SRT?

SRT originated from the SubRip software that ripped subtitles from DVDs. Each subtitle entry in an SRT file has four parts: a sequential number, a timecode range in HH:MM:SS,mmm --> HH:MM:SS,mmm format, the subtitle text (one or more lines), and a blank line separator. Basic HTML-like tags are supported for bold (<b>), italic (<i>), and colour. SRT files are encoded in UTF-8 (or occasionally Latin-1 for older files) and use the .srt extension. Every major platform — Netflix, YouTube, VLC, Kodi, Plex, video editors — supports SRT natively.

SRT pros and cons

Advantages

  • Universal support — every player, platform, and editor accepts SRT
  • Plain text — editable in any text editor (Notepad, TextEdit, VS Code)
  • Human-readable format — easy to manually correct errors
  • Small file size — a full movie's subtitles is typically 50–100 KB
  • Easy to create and edit without specialised software
  • Free and open — no licensing or proprietary restrictions

Limitations

  • Limited styling — basic bold/italic only, no per-character colours in standard spec
  • No positioning control in strict SRT — captions always appear at bottom
  • No support for ruby text, karaoke timing, or complex typography
  • Encoding issues — UTF-8 vs Latin-1 mismatches cause character corruption
  • Not embedded in video — must be kept alongside the video file
  • No chapter markers, image subtitles, or bitmap-based subtitles

When should you convert SRT files?

Convert SRT to VTT (WebVTT) when you need subtitles for HTML5 video — browsers only support WebVTT natively, not SRT. Convert ASS/SSA to SRT when the complex styling of ASS subtitles isn't needed and you want maximum compatibility. Convert SRT to SBV (YouTube's format) when uploading subtitles to YouTube directly. Keep SRT for any local video playback workflow — it's the safest, most compatible choice. Embed SRT in MKV containers using MKVToolNix for a single-file distribution that includes subtitles.

All FormatDrop conversions run entirely in your browser — no file upload, no server processing. Your files stay on your device.

SRT FAQ

How do I add SRT subtitles to a video?
VLC: put the .srt file in the same folder as the video with the same filename (movie.mp4 + movie.srt) — VLC auto-loads it. Or drag the SRT into VLC. Permanently embed: use FFmpeg: `ffmpeg -i input.mp4 -i subtitles.srt -c copy -c:s mov_text output.mp4` (for MP4) or `ffmpeg -i input.mp4 -i subtitles.srt -c copy output.mkv` (for MKV, which supports SRT passthrough).
How do I create an SRT file?
Open any text editor and type entries in this format: 1 00:00:01,000 --> 00:00:04,000 Hello, world. 2 00:00:05,500 --> 00:00:08,000 This is a subtitle. Save with .srt extension and UTF-8 encoding. Tools like Aegisub (free, cross-platform) provide a visual timeline for easier subtitle creation. YouTube's auto-generated subtitles can be downloaded as SRT for editing.
What is the difference between SRT and VTT?
Both are plain-text subtitle formats with similar structures. VTT (WebVTT) is the web standard — supported natively by HTML5 video elements. SRT is older and more universally supported by local players and platforms. VTT supports cue settings for positioning, region definitions, and metadata; SRT's styling is more limited. For web use, convert SRT to VTT (it's usually just adding 'WEBVTT' at the top and changing the comma in timecodes to a period).
Why do my subtitles show as question marks or boxes?
This is a character encoding issue. The SRT file is likely Latin-1/Windows-1252 encoded but being read as UTF-8 (or vice versa). Fix: open the SRT in Notepad++ or VS Code and re-save with UTF-8 encoding. In Notepad++: Encoding menu → Convert to UTF-8. In VS Code: click the encoding in the bottom-right corner and select 'Save with Encoding → UTF-8'. Aegisub handles encoding detection automatically.