Corrupted MP3 or M4A won't play on Mac: how to repair it
An audio file that will not play on a Mac is usually one of three things: a file cut short during a download or copy, a file with the wrong extension, or a file whose header or index was damaged while the audio data itself is fine. The first two are quick to diagnose with file and afinfo in Terminal. The third is fixed by reading the file with a tolerant decoder and writing a fresh copy, which rescues the audio that is present, though it cannot bring back audio that never arrived.
How MP3 and M4A break differently
They are different designs, and they fail in different ways.
MP3 is a stream of independent frames, each with its own header. A damaged MP3 usually still plays: the decoder skips the bad frames and carries on, so you hear a click or a dropout. An MP3 that will not play at all typically has a large damaged block at the start (often a bloated or broken ID3 tag) or is not an MP3 at all.
M4A is an MPEG-4 container, the same family as MP4 video. The audio lives in one chunk and a separate index (the moov atom) says where every second of audio is. If the index is missing because the file was cut short or the recorder crashed, players refuse the whole file even though the audio data is sitting there intact. This is the same failure covered in how to repair a corrupted MP4 that won’t play on a Mac.
Duplicate the file in Finder (Command+D) before you start.
Step 1: check what the file really is
Open Terminal, type file with a trailing space, drag the audio file in, press Return:
file ~/Music/interview.m4a
Healthy results look like “Audio file with ID3 version 2.4.0, layer III” for an MP3 and “ISO Media, Apple iTunes ALAC/AAC-LC” for an M4A. If an .mp3 reports “ISO Media”, it is really an M4A; if an .m4a reports “Audio file with ID3”, it is really an MP3. Rename the extension and try again. A result that mentions “RIFF” and “WAVE audio” means it is a WAV. “HTML document” means the download failed. “data” means the header is gone.
Then press Command+I on the file and look at the size. A 45-minute interview at typical settings is tens of megabytes; if the file is 300 KB, the recording or the transfer stopped almost immediately, and what is missing is not on your Mac.
Step 2: ask Core Audio what it sees
macOS ships afinfo, which reports what the system’s own decoder makes of a file:
afinfo ~/Music/interview.m4a
A good file prints its format, sample rate, channel count and an estimated duration. An unreadable file prints an error. Two useful patterns:
- A duration of
0.000 secon a file of normal size means the index is missing (the M4A case above) or the header is damaged. - An MP3 where the reported duration is far shorter than the real recording means the decoder stopped at a damaged block.
Step 3: try a different player
Each app on your Mac uses a slightly different path to decode audio. Try, in order:
- Quick Look (select the file, press Space).
- QuickTime Player (File, Open File).
- Music (File, Import). Music sometimes accepts MP3s with damaged tags that QuickTime rejects.
- A browser. Drag the file into a Safari or Chrome window; browsers have their own decoders and tend to be tolerant of MP3 frame errors.
If any of these plays the file through, export or record a clean copy from that app and the problem is solved.
Step 4: rebuild a clean copy
The reliable fix for a damaged header, a broken tag, or an MP3 with bad frames is to decode every readable frame and write them to a new file. Tolerant decoders skip what they cannot read and continue.
Manatee does this with its Convert mode. Manatee’s Repair mode is built for video, PDF and Word documents rather than audio, so for an audio file the route that helps is Convert: drag the MP3 or M4A onto the menu bar icon or into the window, pick MP3, M4A, WAV or FLAC as the target, and it reads the file with the bundled ffmpeg engine and writes a fresh copy next to the original. The original is never touched. Choose WAV or FLAC if you want to avoid a second round of lossy compression; choose MP3 or M4A if you want something that drops straight into Music.
Be clear about what this can and cannot do. If the file has a readable header and damaged frames in the middle, you get a clean file with a short gap where the damage was. If the file was truncated, you get the audio up to the cut and nothing after. If the M4A has no index at all, the conversion cannot read it either, and Manatee will tell you rather than produce an empty file. Audio that never reached your disk is gone, and Manatee is not a tool for recovering deleted recordings. Everything runs on your Mac; nothing is uploaded. It is free for 24 hours with every feature, then $9 once.
If you prefer Terminal, afconvert ships with macOS and handles files the system decoder can open:
afconvert -f WAVE -d LEI16 ~/Music/interview.m4a ~/Music/interview-fixed.wav
It fails on files afinfo could not read, so it is a fix for tag and header problems, not for missing indexes.
If the tags are the problem
Oversized or malformed ID3 tags (typically huge embedded artwork) are a common reason an MP3 refuses to play in one app while playing in another. In Music, select the track, press Command+I, go to the Artwork tab and remove the image, then try again. Converting the file with Manatee also writes fresh, minimal tags. If you want to strip the metadata entirely before sharing the file, how to remove metadata from audio files on a Mac covers it.
Preventing it next time
Wait for the Voice Memos or recorder app to finish saving before switching apps. Do not pull a USB recorder or SD card while its light is on. Copy recordings off a phone with a cable or AirDrop rather than through a chat app, which re-encodes audio and sometimes truncates it. And keep the original until you have played the copy through.
Questions
The file plays but cuts off before the end. Is the rest recoverable? If the file size matches the original, the rest of the audio is present and the player is stopping at a damaged frame; a conversion with a tolerant decoder (Step 4) will usually carry on past it. If the file is smaller than the original, the missing audio is not on your Mac.
Voice Memos shows the recording but it will not play or share. Same problem?
Usually it is an M4A that was never finalized because the app or phone quit mid-recording. Find the file in ~/Library/Application Support/com.apple.voicememos/Recordings (on a Mac) and try the steps above on a copy.
Will converting a damaged MP3 to MP3 lose quality? Slightly; MP3 to MP3 decodes and re-encodes. If quality matters, convert to WAV or FLAC instead, which keeps everything the decoder could read, then make an MP3 from that later if you need one. See lossless vs lossy: what happens to audio when you convert it.
The file is 0 bytes. Anything to do? No. There is nothing to decode. Look for the file on the device that made it, in a cloud backup, or in Time Machine.