Batch Convert M4A to MP3: Every Method Compared

Converting one M4A file is easy. Converting 400 voice memos, a teacher’s term of recorded lessons, or a 20-year iTunes library is a different problem: you need consistent settings, sensible file names, the tags and artwork intact, and a way to resume if something stops halfway. This guide compares the practical batch methods on each platform, then covers the details that make the difference between a clean result and a weekend of tidying up.

Before you start: four decisions

  1. Where should the MP3s go? Next to the originals, or in a separate folder that mirrors the structure? A separate folder is safer and makes it easy to copy everything to a USB drive or phone.
  2. What quality? For music, VBR around 190 kbps (LAME -V2) or CBR 192–256 kbps. For speech, 64–96 kbps mono. See 128 vs 192 vs 320 kbps.
  3. Do you need the tags and covers? For music, almost certainly. Make sure your method copies them and writes ID3v2.3.
  4. Do you have the disk space? A 192 kbps MP3 is about 1.4 MB per minute. A 50 GB AAC library at 256 kbps becomes roughly 38 GB of MP3s at 192 kbps.

Method 1: browser converter (small batches, no install)

For a few dozen files — a set of interview recordings, an album, a week of voice notes — the online M4A to MP3 converter is the least effort. Select multiple files at once, choose a bitrate, and download the results as a ZIP. Processing happens on your device, so there is no upload wait. It is not designed for 10,000-file libraries: the browser holds files in memory, so stick to batches of a few hundred megabytes at a time.

Method 2: ffmpeg scripts (any platform, any size)

ffmpeg is the most flexible method and the fastest when run in parallel. The basic loop on macOS or Linux:

mkdir -p mp3
for f in *.m4a; do ffmpeg -n -loglevel error -i "$f" -map 0:a -map 0:v? -c:a libmp3lame -q:a 2 -c:v copy -id3v2_version 3 "mp3/${f%.m4a}.mp3"; done

In Windows PowerShell:

New-Item -ItemType Directory -Force mp3 | Out-Null
Get-ChildItem -Filter *.m4a | ForEach-Object {
  ffmpeg -n -loglevel error -i $_.FullName -map 0:a -map 0:v? -c:a libmp3lame -q:a 2 -c:v copy -id3v2_version 3 ("mp3\" + $_.BaseName + ".mp3")
}

For whole libraries with subfolders, PowerShell 7 can run jobs in parallel:

$src = "D:\Music"; $dst = "D:\MP3"
Get-ChildItem $src -Recurse -Filter *.m4a | ForEach-Object -Parallel {
  $rel = $_.FullName.Substring($using:src.Length).TrimStart('\')
  $out = Join-Path $using:dst ([IO.Path]::ChangeExtension($rel, ".mp3"))
  New-Item -ItemType Directory -Force (Split-Path $out) | Out-Null
  ffmpeg -n -loglevel error -i $_.FullName -map 0:a -map 0:v? -c:a libmp3lame -q:a 2 -c:v copy -id3v2_version 3 $out
} -ThrottleLimit 4

Set -ThrottleLimit to your CPU core count. The Linux/macOS equivalent with find and GNU parallel is in the Linux guide. The -n flag means re-running the script skips files already converted, so an interrupted batch resumes where it stopped.

Method 3: Apple Music / iTunes (if the files are in your library)

Change Import Settings to the MP3 encoder, select the songs (Cmd/Ctrl+A in a playlist), and choose File › Convert › Create MP3 Version. It handles thousands of songs and keeps tags, but it doubles every entry in your library and stores the MP3s in the media folder. Our step-by-step iTunes and Apple Music guide covers the clean-up. Hold Option/Shift while opening File › Convert to convert a folder on disk instead.

Method 4: foobar2000 (Windows and macOS)

foobar2000 is a free music player with an excellent batch converter, popular for large libraries because it uses every CPU core and has flexible naming:

  1. Install foobar2000 and the free LAME encoder (foobar2000’s Free Encoder Pack includes it).
  2. Drag your music folder into a playlist.
  3. Select all tracks, right-click and choose Convert › ….
  4. Under Output format, choose MP3 (LAME) and set the quality (V2 is the recommended default).
  5. Under Destination, choose a folder and a naming pattern such as %album artist%\%album%\%tracknumber% %title%.
  6. Click Convert.

It copies tags and can embed artwork. It is the best point-and-click option for Windows users converting a full library.

Method 5: Audacity Macros (when every file needs processing)

If each recording needs the same treatment — normalising, trimming silence, converting to mono — Audacity’s Macros can apply the steps and export MP3 for a whole selection. It is slower than ffmpeg but needs no scripting. See the Macro section of the Audacity guide.

Comparison

MethodPlatformsSpeedTags & artFolder structureEffort
Browser converterAllGoodText tags (no art)Flat (ZIP)Very low
ffmpeg scriptAllFastest (parallel)Yes, with flagsYesMedium
Apple Music / iTunesMac, WindowsModerateYesLibrary layoutLow
foobar2000Windows, MacFast (multi-core)YesPattern-basedLow
Audacity MacrosAllSlowPartialFlatLow–medium

Keeping things tidy

File names

Most methods keep the original name and change the extension. If your M4A names are meaningless (New Recording 47.m4a), rename from tags first or use foobar2000’s pattern naming. For voice memos, renaming by date (2026-10-21 Team call.mp3) makes them far easier to find later.

Tags and artwork

Spot-check a few files after a batch. If covers are missing, the source may store artwork only in the iTunes library, not in the file. Tag editors such as Mp3tag can fetch or batch-apply artwork. Our metadata guide covers it in detail.

Verifying the batch

Compare the counts: the number of .mp3 files should match the number of .m4a files. On Linux/macOS, find . -iname '*.m4a' | wc -l and the same for .mp3. Look for suspiciously small outputs too — a file under 10 KB is almost always a failed conversion. ffmpeg prints errors for damaged inputs; save them with 2>> errors.log to review afterwards.

Protected files

Files from the Apple Music subscription and pre-2009 .m4p iTunes purchases are DRM-protected and will fail. Every legitimate tool skips or errors on them; there is no setting to fix that.

How long will it take?

LAME encodes at roughly 50–100× real time per core on a modern CPU. One core converts an hour of audio in about a minute; four cores in parallel handle a typical 12-track album in a few seconds. A 10,000-track library takes one to three hours on a laptop. Disk speed matters more than you might think: converting from and to a slow external drive can halve throughput, so copy the library to an internal SSD first if you can.

A worked example: 300 lecture recordings

Say you have a term of lecture recordings, 300 M4A files averaging 50 minutes each, recorded on a phone at 64 kbps mono, and a course portal that only accepts MP3. A sensible plan:

  1. Copy the files to a working folder on an internal drive.
  2. Pick settings that match the source: mono, 64 kbps CBR. Going higher would triple the size for no benefit.
  3. Run a resumable script, writing to a separate mp3 folder:
mkdir -p mp3
for f in *.m4a; do ffmpeg -n -loglevel error -i "$f" -ac 1 -c:a libmp3lame -b:a 64k "mp3/${f%.m4a}.mp3"; done
  1. Verify that 300 MP3s exist and none are suspiciously small.
  2. Rename to a consistent pattern such as Week 03 – Lecture 2.mp3 before uploading.

The result is about 7 GB of MP3s — roughly the same size as the source, because the bitrate matches — and on a four-core laptop the whole batch finishes in well under an hour.

Summary

For a handful of files, a browser converter is quickest. For a full library, use ffmpeg with a parallel loop or foobar2000’s multi-core converter, write to a separate output folder, keep tags with ID3v2.3, and verify counts at the end. Use Apple Music if the files already live in your library, and Audacity Macros when every file needs the same editing.

Frequently asked questions

What is the fastest way to batch convert M4A to MP3?

ffmpeg running several jobs in parallel is the fastest. On Windows, foobar2000's converter also uses all CPU cores and is easy to set up.

Can I batch convert M4A to MP3 online?

Yes, with a browser converter that accepts multiple files. Local, in-browser tools avoid uploading gigabytes; for very large libraries a desktop tool is still more practical.

How do I keep the folder structure when batch converting?

Use a converter with an output pattern such as foobar2000 (%album artist%\%album%\%title%) or a script that recreates each source folder under a new output directory.

Will batch converting overwrite my M4A files?

Not if you write to a different extension or folder. To be safe, use an empty output folder and ffmpeg's -n flag, which refuses to overwrite existing files.

How long does it take to convert a whole music library?

On a modern four-core computer, roughly 30–60 albums per minute using parallel encoding. A 10,000-song library typically finishes in one to three hours.

Related converters

Need to convert a file right now? Our free M4A to MP3 converter runs entirely in your browser — also try WAV to MP3, FLAC to MP3 and MP4 to MP3. Nothing is uploaded.

← Back to all articles