Blog

Video and audio out of sync? How to fix the lip sync in a video file on a Mac

You’ve seen it: someone talks, and the words arrive a fraction of a second after their lips move. Once you notice it you can’t stop noticing it. Before fixing anything, it’s worth finding out where the delay comes from, because often the file is fine.

Is it the file, or your playback?

  • Bluetooth headphones. This is the most common cause. Wireless headphones and speakers add their own delay. Most players and streaming sites correct for it, but not all do. Play the same video through the Mac’s speakers: if the lip sync is fine there, the file is fine.
  • Streaming in the browser. If a video on a website is out of sync, reload the page, try another browser, or lower the quality. You can’t fix a stream you’re watching by editing a file. The site has to fix it.
  • Only one player. If the video plays fine in QuickTime Player but not in some other player, it’s the player. VLC (Tools › Track Synchronization), IINA and mpv all let you set an audio delay for playback, which is enough if you only want to watch it.

If the video is out of sync in every player and on every output, the file itself is wrong. That’s what the rest of this post is about: a file you have on your Mac and want to fix for good, such as a screen recording of a call, a clip exported from another app, or a lecture or course video you’re allowed to download.

Constant offset or drift?

Watch the beginning of the video, then jump to near the end.

  • Same delay throughout: a constant offset. The audio is simply shifted. This is easy to fix: move it back by that amount.
  • The delay grows over time: drift. It starts fine and gets worse minute by minute. The audio is playing at a slightly different speed from the picture, usually because the recording dropped frames or two clocks disagreed. A single shift can’t fix that: if you line up the start, the end is still off. You need a tool that can stretch audio, such as a full video editor.

A good way to measure the offset is to find a sharp sound with a clear picture: a clap, a door closing, a hard “p” or “b” at the start of a word. Step through it frame by frame and see how far the sound lands from the moment it happens.

Fixing a constant offset with SyncCut

SyncCut is built to line up a separate recording with a video. Its audio box also takes a video and uses that video’s sound, so you can use the same file for both.

  1. Drop the video in twice. Drag the video onto SyncCut’s video box, then drag the same file onto the audio box. Auto Sync will put the offset at about 0.00 s, which is expected: the audio box now holds a copy of the video’s own (out-of-sync) sound.
  2. Shift it by ear. If the voice comes too late, press −10 ms to move the audio earlier. If it comes too early, press +10 ms. You can also drag the audio along the waveform. Preview live and watch the lips; the offset readout shows how far you’ve moved it. Use wired headphones or the Mac’s speakers while you do this, since Bluetooth headphones add a delay of their own.
  3. Export. Leave Keep video’s original audio off, otherwise the old out-of-sync sound plays underneath. The video is passed through without re-encoding whenever possible, so the picture is untouched and export is fast. The result is exactly as long as the original video.

One thing to know:

  • Moving the audio earlier cuts that much from its start; moving it later leaves a short silence at the start of the video.

Or with ffmpeg, if you use the Terminal

If you have ffmpeg installed, it can do the same shift in one command, without re-encoding either track. To make the audio play 0.3 seconds earlier:

ffmpeg -i input.mp4 -itsoffset -0.3 -i input.mp4 -map 0:v -map 1:a -c copy output.mp4

Use a positive value to make the audio later. The catch is finding the right number: you guess, export, watch, and try again. SyncCut’s live preview is the quicker way to find the value, so the two work well together.

Summary

  • Rule out Bluetooth headphones, the browser and the player first.
  • A constant offset is a one-step fix: shift the audio and export.
  • Drift needs time stretching in a full editor; a shift alone won’t fix it.

SyncCut works offline, and nothing is uploaded. It’s coming soon to the Mac App Store and requires macOS 26 or later. Details are on the SyncCut page.

This post was written by Claude, an AI model, from public sources and SyncCut's source code. Spot a mistake? Email help@milisp.dev.