Skip to content

How to add subtitles on a Mac (and fix sync drift)

Learn how to add subtitles to any video on Mac, understand SRT vs ASS formats, fix sync delays with shortcuts, and keep subtitles readable over HDR.

In short

  • Placing a subtitle file in the same folder with the same name as your video automatically loads it in MacLC and VLC.
  • You can add an external subtitle to any playing video immediately by dragging the SRT or ASS file onto the player window.
  • Subtitles fall out of sync in two ways: a constant offset, or a drift that grows when the subtitles were timed for a different frame rate or cut.
  • Pressing H and J adjusts subtitle synchronization on the fly by 50-millisecond increments.
On this page
  1. What subtitle formats work best on macOS?
  2. How do you add subtitles to a video on your Mac?
  3. Why do subtitles get out of sync with video dialogue?
  4. How can you resync drifting subtitles using keyboard shortcuts?
  5. How do you fix garbled or unreadable foreign characters?
  6. Why are subtitles blindingly bright on HDR screens?
  7. How can you permanently embed subtitles into a video file?

To add subtitles to a video on a Mac, place the subtitle file in the same folder as your video with the exact same filename, or drag the subtitle file directly onto the playing video window. Modern media players like MacLC and VLC will immediately attach the track and display the dialogue without converting your files.

While adding subtitles takes only seconds, getting them to display properly can introduce frustrating issues. Apple’s built-in QuickTime Player refuses to open external subtitle files entirely, foreign characters often appear as garbled symbols, and subtitles frequently drift out of sync with the actors’ voices. Understanding how subtitle formats work and how to adjust timing shortcuts solves these problems permanently.

What subtitle formats work best on macOS?

Digital subtitles fall into two categories: external standalone text files and internal embedded streams. The two most common external formats are SubRip (.srt) and Advanced SubStation Alpha (.ass).

SubRip (.srt) is the universal standard for plain text subtitles. An SRT file is an unformatted text document containing a sequential number, a start and end timestamp accurate to the millisecond, and one or two lines of dialogue. Because of its simplicity, almost every modern media player, television, and web platform can parse SRT files.

Try it

Anatomy of an SRT Subtitle Cue

/ --> /

Index

Sequential cue number

  1. 1: Index. Sequential cue number
  2. 00:01:02,500: Start Time. Hours:Minutes:Seconds,Milliseconds
  3. 00:01:04,000: End Time. Timestamp when cue disappears
  4. Who are you?: Dialogue. Text rendered on screen
How a media player parses the sequential index, start timestamp, end timestamp, and dialogue text.

Advanced SubStation Alpha (.ass, also known as SSA v4+) is a much more capable format popular in anime communities and international cinema archiving. ASS subtitles support custom typography, precise screen positioning, karaoke timing, color gradients, and border outlines. Rendering ASS files requires a dedicated rendering library called libass.

When media is stored in a Matroska (.mkv) container, multiple subtitle tracks can be embedded directly inside the single file alongside the video and audio. Matroska supports an unlimited number of subtitle tracks—including SRT, ASS, and graphic Blu-ray PGS streams—and even embeds custom font files inside the container so stylized subtitles render correctly on any Mac.

By contrast, Apple’s QuickTime Player only shows subtitles and captions embedded in the file itself (for example, Apple Timed Text or CEA-608 captions in an MP4 or MOV). It cannot load external SRT files or render ASS styling.

How do you add subtitles to a video on your Mac?

If you are using a versatile third-party player, adding subtitles takes minimal effort. There are three reliable methods to attach subtitles to your video.

Method 1: Automatic same-name detection

The cleanest method is to name your subtitle file to match your video file. Place both files in the identical folder on your Mac:

  • Video: Inception (2010).mkv
  • Subtitle: Inception (2010).srt

If you have subtitles in multiple languages, append the language code before the extension:

  • English: Inception (2010).en.srt
  • French: Inception (2010).fr.srt
  • Spanish: Inception (2010).es.srt

When you launch the video in MacLC or VLC, the player scans the folder, detects the matching subtitle files, and loads them into the subtitle menu automatically.

Method 2: Drag and drop onto the playing window

If your subtitle file has a different name or is saved in your Downloads folder, start playing your video. Then, drag the .srt or .ass file from Finder and drop it directly onto the active video window. The player attaches the track instantly.

Method 3: The Subtitle menu

You can also attach a file manually through the Mac menu bar. While the video is playing, choose Subtitles › Add Subtitle File…, select your subtitle file, and click Open. If your video is an MKV file containing embedded tracks, go to Subtitles › Subtitle Track and choose your preferred language from the list.

Why do subtitles get out of sync with video dialogue?

Subtitle desynchronization usually falls into one of two patterns: a constant delay or progressive drift. Identifying which problem you have makes fixing it straightforward.

A constant offset occurs when the entire subtitle track is shifted forward or backward by a fixed amount of time—for instance, every line appears exactly two seconds before the actor speaks. This typically happens because the video release includes a five-second studio production logo at the beginning, whereas the subtitle file was timed to a release that skipped the logo. The distance between cues remains correct, but the starting point is misaligned.

Progressive drift is different: the subtitles start in sync during the opening scene, but by minute thirty they are two seconds late, and by minute ninety six seconds behind. This drift is usually caused by a frame rate mismatch between two releases of the film:

  • 23.976 fps vs 24 fps: most digital releases run at 23.976 frames per second, some at exactly 24. That 0.1 percent difference adds about 3.6 seconds per hour, the slow drift described above.
  • 24 fps vs 25 fps: European PAL releases run film at 25 frames per second, about 4 percent faster. Subtitles timed for one version on the other drift by about 2.5 seconds every minute, so they are clearly wrong within a couple of minutes.
  • Different cuts of the film: If a subtitle file was generated for a Theatrical Cut of a film, it will fail when loaded against an Extended Cut or Director’s Cut that contains inserted scenes and altered scene pacing.

How can you resync drifting subtitles using keyboard shortcuts?

When a subtitle track is out of sync, you do not need to edit the file by hand or re-download new tracks. You can adjust the timing offset in real time during playback.

In both MacLC and VLC, keyboard shortcuts shift subtitle timing in 50-millisecond steps:

  • Press H to decrease subtitle delay (makes subtitles appear earlier).
  • Press J to increase subtitle delay (makes subtitles appear later).

If the dialogue is spoken before the subtitle text appears on screen, press H repeatedly until the text matches the actor’s lips. If the subtitles appear before the actor speaks, press J to push the text back.

For larger adjustments, open the Track Synchronization window:

  1. In the menu bar, choose Window › Track Synchronization.
  2. Under the Subtitles/Video section, find the Subtitle track synchronization field.
  3. Type a positive value (to delay the text) or a negative value (to advance the text) in seconds.
  4. If your subtitles drift, the same section has a Subtitle speed setting for text subtitles such as SRT: adjust it until the end of the film lines up as well as the start.

If you also notice that the audio itself is lagging behind the picture, especially when using wireless earbuds, read our guide on fixing Bluetooth audio delay on Mac.

How do you fix garbled or unreadable foreign characters?

If your subtitle file displays strange symbols, accented letters turned into question marks, or garbled text (a phenomenon known as mojibake), your player is reading the file using the wrong character encoding.

Older subtitle files created on Windows machines were often saved in regional legacy encodings like Windows-1252 (Western European), CP1251 (Cyrillic), or Shift-JIS (Japanese). Modern systems expect UTF-8. When a media player interprets Windows-1252 bytes as UTF-8, characters like é, ñ, or ü break into sequences like é.

You can fix this permanently using macOS TextEdit:

  1. Open TextEdit on your Mac.
  2. In the menu bar, choose File › Open....
  3. In the Open dialog, click Show Options at the bottom.
  4. Change Plain Text Encoding from Automatic to the legacy format (such as Western (Windows Latin 1)).
  5. Open the file. The foreign characters should now appear correctly.
  6. Choose File › Duplicate, then save the new file while explicitly selecting Unicode (UTF-8) as the encoding format.

MacLC reads text subtitles in any encoding, so a converted copy is mostly useful for other apps and devices.

Why are subtitles blindingly bright on HDR screens?

Watching High Dynamic Range (HDR) movies on modern Mac displays introduces an unexpected problem: subtitles that hurt your eyes.

MacBook Pro models equipped with Liquid Retina XDR displays can reach 1,000 nits sustained and 1,600 nits in highlights. Some players draw subtitles as pure white inside the HDR image, and in an HDR signal pure white can mean the screen’s peak brightness. In a dark scene, a subtitle line can then flash far brighter than everything around it, which is tiring for your eyes.

How can you permanently embed subtitles into a video file?

If you have a subtitle track that is synchronized and you want to avoid managing separate files, you can embed the subtitle permanently into the video container.

Unlike hardcoding (or “burning in”) subtitles, which requires re-encoding the entire video stream and permanently degrades picture quality, remuxing packages the subtitle text into the container without altering the video:

  1. Download a container multiplexer like MKVToolNix.
  2. Drag your video file (such as an MP4 or MKV) into the Source Files window.
  3. Drag your synchronized .srt or .ass file into the same window.
  4. In the Tracks panel, highlight the subtitle track, assign its language tag (such as “eng” for English), and set it as Default or Forced if desired.
  5. Click Start multiplexing.

Because the video and audio bitstreams are copied into a new MKV container, multiplexing takes about as long as copying the file and loses no quality.

Whether you are enjoying a foreign language film, following dense dialogue, or watching quietly late at night, having full control over subtitle tracks makes watching comfortable. You can learn more about how containers wrap media tracks in our guide to playing MKV files on Mac, or download MacLC to enjoy automatic subtitle loading and comfortable HDR text brightness on Apple Silicon.

Questions people ask

Can QuickTime Player open external SRT subtitles?

No. Apple QuickTime Player does not support external .srt or .ass subtitle files. It only displays subtitles embedded directly in MP4 or MOV containers using Apple Timed Text (tx3g), WebVTT, or CEA-608 closed captions.

How do I make subtitles load automatically on a Mac?

Give the subtitle file the exact same name as your video file (for example, Movie.mkv and Movie.srt) and place both files in the same folder. Modern media players like MacLC and VLC will detect and load the subtitle track automatically.

Why do my subtitles start in sync but drift later in the movie?

The subtitle file was timed for a different version of the video. A small frame-rate difference (23.976 versus 24 fps) adds a few seconds per hour; a European PAL version runs about 4 percent faster (25 fps), which puts subtitles out by about 2.5 seconds every minute. A different cut of the film shifts them after each added or removed scene.

How do I fix garbled foreign letters in subtitles on Mac?

Garbled text (mojibake) occurs when a subtitle file was saved in a legacy text encoding like Windows-1252 and is read as UTF-8. Open it in TextEdit with the right encoding (Show Options in the Open dialog), then save a copy as Unicode (UTF-8).