What is an SRT file (and how to use one on a Mac)
An SRT file is a plain-text subtitle file that stores dialogue and timecodes. Learn how the SubRip format works, how to edit it, and how to use it on Mac.
In short
- An SRT file is a simple, plain-text document holding sequential numbers, millisecond timecodes, and dialogue.
- Media players automatically load external SRT files when the subtitle matches the video file name in the same folder.
- You can open and edit SRT files on macOS using TextEdit as long as you save them in plain text with UTF-8 encoding.
- SRT uses commas for millisecond timestamps, whereas WebVTT uses periods and supports web styling.
- QuickTime Player does not support external SRT sidecar files without third-party tools or container conversion.
On this page
- What is inside an SRT file line by line?
- How do media players automatically pick up an SRT file?
- How do you open and edit an SRT file in macOS TextEdit?
- What is the difference between SRT, WebVTT, and ASS subtitles?
- Why doesn’t QuickTime Player play external SRT files on a Mac?
- How can you fix an SRT file that is out of sync?
- What should you do with your SRT files now?
An SRT file is a plain-text document that stores movie subtitles, captions, and exact on-screen timing coordinates. The letters stand for SubRip Text, named after the original SubRip Windows software that extracted subtitles from DVD video discs into lightweight, human-readable text files.
Today, SRT is the most widely supported subtitle format on earth. It works across almost every modern operating system, home media server, and video editing program because it relies on plain numbers and words rather than complex graphics or proprietary binary code.
What is inside an SRT file line by line?
If you open an SRT file in any plain-text editor, you will discover that it contains no binary data, no tracking code, and no video frames. Instead, it is structured as an ordered series of subtitle cards, known technically as cues.
Every individual cue in an SRT file follows a strict four-part structure:
- A sequential counter: A positive integer that starts at 1 and increases by 1 for every subsequent subtitle event.
- A start and end timecode: The exact point in time when the subtitle appears and disappears from the screen, formatted as
hours:minutes:seconds,milliseconds --> hours:minutes:seconds,milliseconds. - The subtitle text: One or more lines of dialogue, translated text, or descriptive audio notes.
- A blank line: An empty line that signals to the media player’s demuxer that the current cue has ended.
Here is what an actual two-cue sequence looks like inside a raw .srt file:
1
00:01:14,250 --> 00:01:17,800
Look at the horizon.
The storm is moving inland.
2
00:01:18,500 --> 00:01:21,120
We need to secure the perimeter.
Notice the punctuation in the timecode line. The SubRip standard uses two digits for hours, two digits for minutes, two digits for seconds, and three digits for milliseconds, separated by a comma (,). The arrow between the two timestamps consists of two hyphens followed by a greater-than symbol (-->). If an editor accidentally replaces the comma with a period or deletes the space surrounding the arrow, older subtitle parsers can fail to render the cue.
While the original SubRip format was strictly unformatted plain text, many modern players accept basic HTML formatting tags inside the dialogue block. You will frequently see tags like <i> for italics to signify whispers or off-screen narration, <b> for bold shouting, and <font color="#ffff00"> to assign distinct colors to different speakers.
How do media players automatically pick up an SRT file?
The most common way to watch a movie with an SRT file is using an external sidecar workflow. A sidecar file is an independent document that sits in the same directory as your video file rather than being packed inside the video container itself.
For a media player to detect your subtitle file without requiring you to manually open menus, the SRT file must share the exact base file name as the video file.
Diagram
Sidecar subtitle file layout
- Movies
- Inception (2010).mkv
- Inception (2010).en.srt
- Inception (2010).fr.srt
When you launch Inception (2010).mkv, a media player scans the directory for files that share that identical file stem. If it discovers Inception (2010).en.srt, it automatically mounts the file as an active English subtitle track.
Adding an ISO 639-1 two-letter language code (such as .en for English, .es for Spanish, or .fr for French) right before the .srt extension helps the player assign the proper language label in its on-screen subtitle selection menu. If you are struggling with subtitle visibility on macOS, review our complete walkthrough on subtitles on Mac.
How do you open and edit an SRT file in macOS TextEdit?
Because SRT files are simple plain text, you do not need expensive subtitling software to fix a typo, reword a translated sentence, or adjust a timestamp on your Mac. You can edit any SRT file using the built-in TextEdit application that ships with macOS.
However, TextEdit can cause formatting errors if you leave it in its default Rich Text mode. Rich Text mode saves files in Apple’s proprietary RTF format, which injects hidden styling attributes and strips the clean line breaks that subtitle parsers require.
Follow these steps to edit an SRT file safely in TextEdit:
- Launch TextEdit on your Mac.
- Open TextEdit › Settings (or Preferences on older macOS releases) from the menu bar (
⌘,). - Under the New Document tab, set the format radio button to Plain text.
- Under the Open and Save tab, verify that Plain text file encoding for opening and saving is set to Unicode (UTF-8).
- In Finder, right-click your
.srtfile, select Open With, and choose TextEdit. - Edit the dialogue text or correct the timestamps while strictly preserving the blank line between cues.
- Press ⌘S to save the file. Ensure the file extension remains
.srtrather than.txt.
If you open an SRT file and notice weird characters, accented vowels replaced by question marks, or garbled symbols, the file was likely saved with an older legacy Windows character encoding. We cover step-by-step solutions in our dedicated guide on fixing garbled subtitles.
What is the difference between SRT, WebVTT, and ASS subtitles?
SRT is far from the only subtitle format used in digital video. Depending on whether you stream video in a web browser, watch an anime series, or play an archival disc rip, you will encounter three primary text formats: SRT, WebVTT, and ASS.
| Attribute | SRT (SubRip Text) | WebVTT (.vtt) | ASS (Advanced SubStation Alpha) |
|---|---|---|---|
| Primary Use Case | Local desktop playback and media servers | HTML5 web video streaming and HLS | Stylized anime fansubs and typography |
| File Structure | Sequential counter, comma timecode, text | WEBVTT header, period timecode, cue settings |
[Script Info], [V4+ Styles], [Events] |
| Millisecond Separator | Comma (00:01:14,250) |
Period (00:01:14.250) |
Period (0:01:14.25, centiseconds) |
| Styling Capabilities | Basic italics and bold only | CSS styling, text alignment, screen positioning | Vector drawings, fonts, rotation, karaoke |
| Rendering Engine | Simple text rasterizer | Web browser DOM / CSS rendering | Dedicated libass typography engine |
WebVTT (Web Video Text Tracks) was created by the W3C WebVTT specification to bring native captioning to HTML5 web browsers. It looks very similar to SRT, but it requires a WEBVTT header on line one, uses periods instead of commas for milliseconds, and supports CSS positioning tags like position:20% align:start.
ASS (Advanced SubStation Alpha) is an entirely different caliber of subtitle file. Rather than presenting lines of text at the bottom of the screen, ASS functions like a vector graphic script. It defines custom typography, drop shadows, color gradients, coordinate positioning, and frame-accurate animations. You can read more about how this works in our guide to what libass is.
If your subtitle files contain pictures rather than text—which is common with Blu-ray rips—you are dealing with bitmap subtitles rather than an SRT file. Read our breakdown of PGS subtitles explained to understand the difference between text subtitles and image overlays.
Why doesn’t QuickTime Player play external SRT files on a Mac?
One of the most persistent complaints among Mac users is that QuickTime Player refuses to load external SRT files. If you double-click a movie file in Finder, QuickTime opens the video, but dragging and dropping an SRT file onto the playback window does nothing.
According to Apple Support documentation on QuickTime playback, QuickTime relies strictly on Apple’s AVFoundation system architecture. AVFoundation does not support loose sidecar subtitle files. It only recognizes subtitle tracks that have been multiplexed directly into an MP4 or QuickTime Movie container using Apple’s proprietary tx3g (Apple Timed Text) format or WebVTT.
To get subtitles into QuickTime, Apple expects users to run complex conversion workflows or use command-line utilities to embed the tracks into an MP4 file. For everyday movie watching, this is an unnecessary waste of time.
How can you fix an SRT file that is out of sync?
Nothing ruins a movie faster than reading dialogue seconds before the actor delivers it on screen. Subtitle synchronization problems generally fall into one of two categories: a constant offset or frame-rate drift.
A constant offset occurs when the entire subtitle track starts too early or too late by a fixed number of seconds. This typically happens when a subtitle file was ripped from a theatrical cut of a film, but your video file includes an opening studio logo that pushed the dialogue forward by twelve seconds. You can fix this during playback:
- Keyboard shortcuts: In players like MacLC, press the H key to shift the subtitle earlier, or press the J key to shift the subtitle later.
- Track Synchronization window: Open the Track Synchronization window to set an exact subtitle offset.
Frame-rate drift is more insidious. The subtitles start in sync during the opening scene, but by the midpoint of the movie, they lag several seconds behind the audio, and by the end credits, they are completely detached.
This happens when the subtitle file was timed for a 25 fps European PAL broadcast, while your video file runs at 23.976 fps. Because 25 fps runs 4.167% faster than 23.976 fps, the subtitles gradually drift out of alignment by roughly 2.5 seconds for every minute of elapsed screen time. To diagnose and correct frame-rate mismatches, see our comprehensive guide on fixing subtitles out of sync.
If you have an MKV file with subtitles locked inside that you want to examine or re-time as an SRT file, you can extract them without re-encoding the video. Follow our tutorial on how to extract subtitles from an MKV on a Mac.
What should you do with your SRT files now?
If you have a collection of movies and loose SRT files on your Mac, you do not need to convert them, rename them into MP4 containers, or struggle with QuickTime’s missing sidecar support.
Organize your video and subtitle files into a dedicated folder with matching names, download MacLC from the download page, and start watching. MacLC handles the SubRip format natively, loads subtitles automatically, and lets you fine-tune timing directly from your keyboard.
Questions people ask
How do I open an SRT file on a Mac?
You can view and edit an SRT file by right-clicking it in Finder, selecting Open With, and choosing TextEdit. To play it alongside a video, place it in the same folder with the same name as the video file and open the video in an open-source media player.
Can QuickTime Player play external SRT subtitle files?
No. Apple QuickTime Player cannot load loose external SRT subtitle files saved next to a movie. It only displays subtitle tracks that are embedded inside an MP4 or MOV file as Apple Timed Text or WebVTT.
What is the difference between SRT and WebVTT?
SRT uses a comma to separate seconds from milliseconds and has no header. WebVTT starts with WEBWTT on line one, uses a period before milliseconds, and supports CSS styling, text positioning, and HTML5 browser playback.
Why are my SRT subtitles not appearing automatically in my media player?
Subtitles fail to load automatically when the SRT file name does not match the video file name character for character, or when the subtitle file is stored in a different folder.