Why Your MP3 Is Bigger Than the Video's Audio
Your MP3 came out bigger than the audio inside the MP4? Compare bitrates, not file sizes. Measured results for VBR, 128k and stream copy.
Short answer: the MP3 was encoded at a higher bitrate
An MP3 ends up bigger than the audio in your video when it is encoded at a higher bitrate than the audio track already had. File size is bitrate times duration, nothing else. A video's audio is usually AAC at 96 to 192 kbps, and converting it to MP3 decodes it and encodes it again from scratch. The MP3 encoder does not know the source was already compressed, so it spends whatever bitrate you give it. Converting a lossy track to a higher bitrate adds size but not quality, because the detail that AAC discarded does not come back. Compare the audio stream's bitrate, not the size of the whole MP4, which also carries the video.
What we measured on a 60 second clip
We built three 60 second MP4 files with ffmpeg 6.1.1 and converted each one. Source audio was AAC: 732,012 bytes for the 96 kbps tone clip, 734,677 bytes for the 96 kbps noise clip and 974,084 bytes for the 128 kbps noise clip. A fixed 128 kbps MP3 came out at about 961,000 bytes every time, which is 31% bigger than the 96 kbps source and about the same as the 128 kbps one. Quality-targeted MP3 (the `-q:a 2` setting our converter uses) gave 240,365, 690,844 and 685,828 bytes. A plain stream copy to M4A matched the source byte for byte. These are synthetic signals, so treat the numbers as a pattern, not a prediction for your file.
Why our converter's size changes with the audio
Our MP4 to MP3 converter does not pick a bitrate. It runs LAME's quality setting `-q:a 2` (variable bitrate), and the encoder decides frame by frame how many bits the sound needs. That is why the same setting gave 32 kbps for two plain tones and about 92 kbps for noise in our test. Real music is far more complex than either, and LAME describes this preset as averaging roughly 190 kbps on typical music. So a phone video with 96 kbps AAC audio can legitimately produce an MP3 about twice as large, and a quiet interview with long pauses can produce a smaller one. Neither is a fault in the file.
Compare the audio stream, not the whole file
The most common mix-up is comparing an MP3 with the full MP4. The MP4 holds video too, so it is almost always much larger, and the MP3 looks tiny next to it. The fair comparison is the audio track alone. Run `ffprobe -v error -select_streams a:0 -show_entries stream=codec_name,bit_rate -of default=nw=1 video.mp4` to see its codec and bitrate. If that says 128000, an MP3 near 128 kbps will be about the same size, and anything above it will be larger. Multiply the bitrate by the duration in seconds and divide by 8 to get the expected size in bytes.
How to keep the file from growing
Pick the output that matches your goal. If you only need the sound in a separate file, copy the track without re-encoding: `ffmpeg -i video.mp4 -vn -acodec copy audio.m4a` gave an identical size and no quality loss in our test, and it works when the source audio is AAC. If you need an MP3, a bitrate at or below the source track's own (96 or 128 kbps for most phone video) keeps the size close to the original. Anything higher only makes a bigger file with the same sound. For an MP3 you already have, the audio compressor can re-encode it at a lower bitrate, with a small extra generation of loss.
Frequently asked questions
Try it on PixelTools — free, no upload needed