Converter · No upload

Convert M4A to MP3 on your device

Convert M4A or AAC recordings to MP3 at the bitrate you choose.

Statusidle Files— File— Duration— PCM rate— Channels— Requested bitrate192 kbps Output size— Network since file read—

A file that will not decode is reported as damaged or DRM-protected; a truncated download may decode short or not at all, and a short result is not flagged; any other extension is refused as not an M4A or AAC file. More than two channels are folded to stereo and the row says so; browser decoding may resample without a note; peaks over full scale are clipped silently. Takes .m4a and .aac.

How this converter works

Your browser reads the file into memory and, when it supports the codec, decodes the audio with its own built-in decoder, so this page downloads no extra audio decoder. The samples and your chosen bitrate go to lamejs, a JavaScript port of the LAME encoder (LGPL), which encodes the MP3 in this tab, and the result is offered as a download.

The network meter counts resource-timing entries from the first file read, so it does not include the encoder download that comes before it. To check that the tool works offline, convert one file while you are online so the encoder is cached, then disconnect from the internet and convert another. If it converts, the conversion did not need a server. The methodology page describes two other checks and publishes the encoder's license and provenance.

The bitrate choices are 128 kbps, 192 kbps (the default) and 320 kbps. The bitrate readout and result rows repeat that request, not a measurement of the MP3, and at low PCM rates the encoder can use a lower bitrate. Tags, chapters and album art are not carried into the MP3. A truncated file may fail if its index is missing, or decode only the available audio if enough of its index and audio remain. Short decoding has no specific warning here, so compare the row's duration with the recording you expected. Browser decoding commonly runs at 44.1 or 48 kHz. The PCM rate readout shows the conformed sample-buffer rate sent to the encoder. That is not always the source M4A's rate, and it is not measured from the finished MP3. A further rate change in the page's MP3-conform step, such as 96 kHz to 44.1 kHz, gets a row note. The whole file is decoded into memory with no length cap, so a long recording can fail on a low-memory device.

Frequently asked questions

Is my audio uploaded anywhere?
No. The browser reads the M4A, decodes its audio and passes the samples to the MP3 encoder in this tab. The methodology page explains how to check the network activity yourself, and what the page’s own meter leaves out.
Will converting M4A to MP3 lose quality?
Yes. MP3 is lossy, and an M4A commonly holds AAC, which is lossy too, so the MP3 adds another generation of loss. (An M4A can also hold lossless audio.) Whether you hear the difference depends on the recording and the bitrate. Keep the M4A as your original: converting the MP3 back will not recover the discarded detail.
What bitrate should I choose?
Start with the default, 192 kbps. At 192 kbps, MP3 audio takes roughly 1.4 MB per minute. Choose 128 kbps for speech when file size matters more than detail, or the highest setting, 320 kbps, when size matters less. Listen to one file before converting a large batch. A higher bitrate cannot restore detail already lost in the source.
Do my tags and album art survive the conversion?
No. Only the decoded audio goes to the MP3 encoder, so the title, artist, album art and other tags are not copied. Keep the original if you need its metadata, and re-tag the MP3 in your music library software.
Why won't a particular file convert?
Usually because it is protected, damaged or in a codec your browser cannot decode. A .m4p file is refused by its extension, and protected audio does not open. A download cut off before its index may fail; one cut off after its index may decode only the available sound, with the row's duration the only tell. A failed file gets its own named row, and the rest of the batch still converts.

Related tools