The one tool here that works in every browser
The other video tools on this site depend on WebCodecs, and WebCodecs has a hole in it: Firefox on Android has none of it, not the decoders and not the encoders. This tool sidesteps that entirely, because decoding audio never needed WebCodecs in the first place. decodeAudioData has been part of the Web Audio API for over a decade, and it hands the work to the same operating-system codecs your browser uses to play the file. AAC inside MP4, Opus inside WebM, MP3, FLAC, Vorbis — all of them decode with no extra download and no feature test.
The encoding half is the part that needs help, and for a reason people find surprising: no browser can encode MP3. The WebCodecs audio encoder supports Opus almost everywhere and AAC in most places, and MP3 in exactly none of them, while MP3 decoding is near-universal. So writing an MP3 means shipping an encoder, and this page loads one — a WebAssembly build of LAME, fetched only when you press the button and only on this page.
Why a long file is refused instead of attempted
Decoded audio is not compressed. It is four bytes per sample, per channel, per second — so a four-minute song at CD quality is about 85 MB of memory, and a one-hour podcast at 48 kHz stereo is about 1.38 GB. On this path there is no way to stream it: the whole soundtrack has to exist at once before the encoder can start.
A gigabyte and a half does not fail politely. It takes the tab down, and with it whatever else you had open in it. So the length is checked before the file is read, and anything past roughly thirteen minutes is refused with the arithmetic shown. The panel above also prints the memory figure for the file you actually dropped, which is the one number that explains the limit without anyone having to trust it.
That cap is a property of this route, not of the format. Streaming the decode through WebCodecs would lift it — at the cost of the browsers that have no WebCodecs, which is the audience this page exists to serve.
This is a second generation of loss
The audio in a video file is already compressed, nearly always as AAC. Turning it into MP3 decodes that and compresses it again with a different algorithm, which means artefacts on top of artefacts. No bitrate undoes it. 320 kbps hides it well enough that almost nobody will hear it; 128 kbps is fine for speech and audible on music.
If what you want is the original soundtrack rather than an MP3 of it, the better answer is a container change rather than a conversion — copying the AAC track into an .m4a file with no re-encoding at all. That is a different tool and a better one for archiving. MP3 is here because it is the format that plays in car stereos, old hardware and everything else that has ever existed, which is usually the actual reason someone wants one.
MP3's core patents expired on 23 April 2017 and Fraunhofer's licensing programme closed with them, which is why a LAME build can ship here at all. More in video & audio tools.