Batch Convert FLAC to MP3 — Step-by-Step for Windows & Mac
Overview
Batch converting FLAC (lossless) to MP3 (lossy) is useful for saving space or creating portable-friendly files. Below are two reliable methods: a free GUI tool (freely available on both platforms) and a command-line option (fast, scriptable). Assumed defaults: convert to 320 kbps LAME VBR (high-quality) and keep original metadata.
Method 1 — GUI: foobar2000 (Windows) / XLD (Mac) — recommended for most users
-
Why: Easy batch selection, preserves metadata, configurable quality.
-
Windows (foobar2000)
- Install foobar2000 and the LAME encoder (download LAME DLL or executable).
- Open foobar2000 → File → Add files/folders and select your FLAC files.
- Select all tracks (Ctrl+A), right-click → Convert → …
- Click “Output format” → choose MP3 (LAME). Set mode: VBR, quality ~0 for near-320 kbps or select CBR 320 kbps.
- Configure output folder and filename pattern. Ensure “Preserve date modified” or similar if needed.
- Start conversion and wait; check tags after completion.
-
Mac (XLD)
- Install XLD from its website.
- Open XLD → Preferences → Encoder → choose “LAME” (or MP3) and set bitrate: VBR quality 0 or CBR 320 kbps.
- Drag & drop FLAC files/folders into XLD.
- Choose output folder and click “Open” or “Convert.”
- Verify tags and file names after conversion.
Method 2 — Command line: ffmpeg (Windows & Mac & Linux) — best for automation
- Why: Fast, scriptable, cross-platform, precise control.
- Install: Install ffmpeg (homebrew on Mac:
brew install ffmpeg; Windows: download static build and add to PATH). - Single-command batch example (recursive, preserves structure):
bash
# Run from top-level folder containing FLAC files find . -type f -iname ’*.flac’ -print0 | while IFS= read -r -d “ f; do out=”\({f</span><span class="token" style="color: rgb(57, 58, 52);">%</span><span class="token" style="color: rgb(54, 172, 170);">.flac}</span><span class="token" style="color: rgb(163, 21, 21);">.mp3"</span><span> </span><span> </span><span class="token" style="color: rgb(57, 58, 52);">mkdir</span><span> -p </span><span class="token" style="color: rgb(163, 21, 21);">"</span><span class="token" style="color: rgb(54, 172, 170);">\)(dirname “\(out</span><span class="token" style="color: rgb(54, 172, 170);">"</span><span class="token" style="color: rgb(54, 172, 170);">)</span><span class="token" style="color: rgb(163, 21, 21);">"</span><span> </span><span> ffmpeg -i </span><span class="token" style="color: rgb(163, 21, 21);">"</span><span class="token" style="color: rgb(54, 172, 170);">\)f” -codec:a libmp3lame -qscale:a 0 -id3v2_version 3 “$out” done
- Notes:
-qscale:a 0requests highest VBR quality (~320 kbps). Replace with-b:a 320kfor CBR.- ffmpeg copies metadata by default; use
-map_metadata 0if needed. - For Windows PowerShell, use a similar loop with Get-ChildItem and ffmpeg calls.
Post-conversion checks & tips
- Verify tags: Use MusicBrainz Picard or the same tool to rewrite tags if inconsistent.
- Compare quality: MP3 is lossy; keep originals if you may need true lossless later.
- Batch safety: Test on a few files first. Keep a backup of originals.
- Speed vs quality: VBR quality 0 gives near best perceptual quality with reasonable size. Use CBR 320k for maximum compatibility.
- Filename collisions: Ensure scripts handle existing .mp3 files (overwrite or skip).
Quick settings summary
- Recommended encoder: LAME (libmp3lame)
- Recommended mode: VBR quality 0 (or CBR 320 kbps if you prefer fixed bitrate)
- Metadata: Preserve ID3v2 tags; use tag editors if needed.
- Backup: Keep original FLAC files until you confirm the MP3s meet your needs.
Leave a Reply