Why renaming .m4a to .mp3 does not work
They read on a forum — or in a guide that currently ranks — that you can just rename the extension. They either tried it and something broke, or they are about to try it and want to check. They want a straight yes/no before they waste an hour.
No. Changing .m4a to .mp3 renames the file. It does not alter a single byte of the audio inside it. What you end up with is an M4A file wearing an MP3 label. Some players open it anyway, which is why the trick keeps being recommended on forums. Stricter software refuses it, which is probably why you are reading this. A real MP3 requires the audio to be decoded and encoded again, and no amount of renaming does that.
What renaming actually changes
A file extension is a hint. It tells the operating system which application to open the file with and which icon to draw. It lives in the directory entry, not in the file, and nothing verifies it. Rename a photograph to .mp3 and Windows will hand it to a music player, which will then fail to find any music in it.
Audio formats are not distinguished by their names. They are distinguished by their bytes, and an .m4a and an .mp3 disagree about almost every byte from the very first one.
What is really inside an .m4a
An M4A is an MPEG-4 container — the same box structure as an MP4 video, minus the picture. The file is built from nested boxes, sometimes called atoms. Each box starts with a four-byte length and a four-byte name. Open one in a hex viewer and bytes 5 to 8 spell ftyp in plain ASCII. Two of the boxes that follow do the real work: moov, the index that lists where every audio frame lives and how long it is, and mdat, the payload itself. Their order varies — plenty of tools write the index last — but both are always there. The payload is normally AAC, a different codec from MP3, written by a different encoder.
An MP3 has no container at all. It is a bare run of MPEG audio frames, one after another. Every frame begins with a sync word — eleven consecutive set bits, which is why the first two bytes of a frame read FF FB, FF F3 or similar. There is no index and no header describing the whole file. Most MP3s carry an ID3 tag at the front for the artist and title, which is why plenty of MP3 files actually begin with the three ASCII letters ID3.
So an MP3 decoder handed a renamed M4A scans for a sync word, finds ftyp and the MPEG-4 box tree instead, and stops. Nothing is broken. The decoder is simply not looking at an MP3. If you want the fuller comparison of what the two formats are for, M4A versus MP3 covers it.
Why it looks like it worked
A lot of playback software ignores the extension entirely. VLC, Chrome and FFmpeg itself read the first few kilobytes and work out what the file is from its contents — a process called content sniffing. Hand any of them a renamed M4A and it plays perfectly, because they never believed the name in the first place.
That is the whole origin of the myth. Someone renames a file, double-clicks it, hears music, and posts that it works. It did work, on their machine, in a player that was never checking.
The software that trusts the extension is the software that decides quickly or cheaply which decoder to load: the firmware in a car head unit, the importer in an editing suite, and any web form that validates a file by its name. QuickTime Player on macOS belongs on that list too — it picks its decoder from the file's declared type, so a renamed M4A gets handed to the MP3 decoder and the open fails. Those are, awkwardly, the places you were most likely trying to get the file into.
What breaks later
- The file is rejected on submission. Services that check the first bytes rather than the name see an MPEG-4 header where an MP3 was declared and refuse the file. Services that check only the name accept it and then fail during processing, which is worse, because the failure arrives an hour later with no explanation.
- Editors refuse to import it. An audio workstation that selects its importer from the extension routes the file to its MP3 reader and reports a corrupt or unsupported file.
- Car stereos list the track and skip it. A head unit that scans a USB stick for
.mp3will index the renamed file, then hand it to a hardware MP3 decoder that finds no sync word. The track appears in the list and skips after a fraction of a second, or plays silence. - It travels badly. It plays for you and not for the person you sent it to, and neither of you can see why, because the filename says MP3 on both machines.
- You cannot undo it easily later. Six months on, nobody remembers that
interview.mp3is really AAC. Anything that goes wrong with it will be diagnosed as a corrupt MP3.
Windows hides extensions for known file types by default, so a file shown as voice is really voice.m4a. Type voice.mp3 over it and you get voice.mp3.m4a — still an M4A, now with a confusing name. Turn extensions on first: in Windows 11, File Explorer → View → Show → File name extensions; in Windows 10, the View tab → the File name extensions tick box. On a Mac, Finder → Settings (Preferences before macOS Ventura) → Advanced → Show all filename extensions. macOS at least warns you, with a dialogue asking whether to use .mp3 or keep .m4a.
How to tell what a file really is
Three ways, in order of how much effort they take.
- macOS or Linux terminal:
file recording.mp3. A genuine MP3 is reported asAudio file with ID3…orMPEG ADTS, layer III. A renamed M4A comes back asISO Media, Apple iTunes ALAC/AAC-LC (.M4A) Audiowhatever the name says — that answer is read out of the bytes. - Windows PowerShell:
Format-Hex -Path .\recording.mp3 | Select-Object -First 1prints the first sixteen bytes. If bytes five to eight readf t y p, it is an MPEG-4 file. If the first three areI D 3, or the file opens withFF FB, it really is an MP3. (PowerShell 7 accepts a shorter-Count 16; the Windows PowerShell 5.1 that ships with Windows does not, so the piped version is the one that always works.) - Drop it on the converter on this site. It reads the file's own header rather than its extension, and the file card it draws names the codec it actually found — so a mislabelled file will sit there calling itself
.mp3with AAC printed underneath it. Nothing is sent anywhere to do that; the reading happens in the tab.
The renames that really are just a label
Renaming is not always nonsense. It works when both extensions describe the same container holding the same codec, and the only thing that differs is which application claims the file. That is a narrow set.
| Rename | What is inside | Does it work? |
|---|---|---|
.m4a → .mp3 | MPEG-4 boxes, AAC audio | No. Different container, different codec. |
.mp3 → .m4a | Bare MPEG frames | No. The same problem in reverse. |
.m4a → .m4r | MPEG-4 boxes, AAC audio | Usually. This is the one rename people got away with, because an iPhone ringtone is an M4A with a different name. |
.m4a → .mp4 | MPEG-4 boxes, AAC audio, no video | Yes, mechanically. It is the same container, and players that expect a picture simply show a black frame. |
.m4a → .m4b | MPEG-4 boxes, AAC audio | As a label, yes. Audiobook players key on the extension to offer bookmarks. Chapter marks are a separate job. |
.m4a → .aac | MPEG-4 boxes, AAC audio | No. An .aac file means a raw ADTS stream with its own frame headers, not AAC wrapped in boxes. |
.opus → .ogg | Ogg container, Opus codec | Sometimes. The wrapper is right, but a player that only decodes Vorbis still cannot read it. |
.wav → .mp3 | RIFF header, uncompressed PCM | No, and the size gives it away: WAV holds 1,411 kbps, so it is seven times an MP3 at 192 kbps and eleven times one at 128. |
.mp4 → .mp3 | MPEG-4 boxes, video plus AAC | No. The picture is still in there. |
The ringtone row is worth a footnote, because the folklore around it is out of date. On iOS 26 and later you long-press the file in Files, tap Share, and choose Use as Ringtone; it accepts an .m4a as it stands and refuses anything longer than 30 seconds, so the extension was never the obstacle. The ringtone maker here trims to that limit and writes a proper .m4r for the older sync route.
The shortcut that does exist
There is a legitimate version of what the renaming advice was reaching for, and it is worth knowing about because it is far quicker than a conversion. It is called a stream copy: the compressed audio is lifted out of one container and written into another without ever being decoded. No encoder runs, so nothing is re-encoded and nothing is lost.
An AAC track in an .m4a can be copied into an .m4r ringtone, an .aac stream or a fresh .m4a this way, and the AAC soundtrack inside an .mp4 can be copied straight out into an .m4a. Measured on a real pair of files, the compressed stream and every decoded sample came out identical; only the container's metadata block is rewritten, because the tool writes its own encoder tag and timestamps. A copy like that takes about a second whatever the length of the recording, since nothing is being encoded.
What a stream copy cannot do is produce an MP3 from AAC. MP3 frames and AAC frames are not interchangeable, so there is nothing to copy. That conversion has to go through the decoder and the encoder, and it always will.
Given the chance, FFmpeg will copy an AAC stream into a WAV container and report success, because the WAV header's format field is arbitrary and nothing checks it. The resulting file plays nowhere. That is exactly the rename problem one level deeper, and it is why the converter here keeps its own list of which copies are legal instead of trusting the tool to refuse an illegal one.
How to actually convert it
A genuine conversion decodes the AAC back to raw samples and hands those to an MP3 encoder. The output starts with an ID3 tag and MPEG frames, so every piece of software agrees it is an MP3, including the ones that only look at the name. You can do it on the M4A to MP3 page, which runs FFmpeg compiled to WebAssembly inside the browser tab. The file is never sent anywhere, because there is no server involved at any point.
Be clear-eyed about the cost. This is a second lossy encode, and the MP3 encoder cannot restore what the AAC encoder already discarded. At 192 kbps and above the difference is not something most listeners pick out in a blind test, and for speech it is inaudible. Asking for a bitrate higher than the source ever had adds bytes rather than detail.
If the file in question is an iPhone voice memo, converting a voice memo to MP3 covers the export step as well, since the Voice Memos app hands over an .m4a and every transcription service in existence asks for something else.
The converter on the home page handles this. Free, no upload, no sign-up.