FLAC → MP3

FLAC to MP3 converter

Lossless FLAC is decoded to PCM and re-encoded as MP3. This is the classic archive-to-phone conversion: a first-generation lossy encode from a perfect source, typically 4–6× smaller.

MP3

…or drag files and folders here. Add as many as you like — everything is processed on this device.

.aif .aifc .aiff .flac .wav .wave

FLAC is the right format for an archive and the wrong format for a car, a cheap MP3 player or a phone with 32 GB of storage. A CD rip is around 250 MB per album in FLAC and around 70 MB at 256 kbps MP3, with tags, track numbers and artwork intact.

Because FLAC is lossless, the encoder sees exactly what the microphone captured — this is the best possible input for MP3. Sonic Batch reads the FLAC STREAMINFO block and Vorbis comments, maps them to ID3v2.3, keeps the embedded front-cover picture, and writes the whole album in one queue run.

Does this change the audio quality?

A first-generation encode from lossless audio. At 256–320 kbps the result is transparent for the overwhelming majority of listeners and equipment; at 128 kbps cymbals and reverb tails audibly smear.

  • 24-bit/96 kHz FLAC is downconverted: MP3 cannot exceed 48 kHz and is always 16-bit internally.
  • Cover art larger than a few hundred kilobytes makes small MP3s noticeably bigger. You can drop artwork in the metadata controls.
  • Multi-channel FLAC (5.1) is downmixed to stereo, and the downmix is reported per file.

A worked example

Putting a 40-album FLAC library on a phone

  1. Drop the album folders in. The queue shows sample rate and bit depth per file so you can spot the hi-res albums.
  2. Choose High quality (320 kbps). Leave Channels and Sample rate on “Same as source”.
  3. Turn on Keep cover art if you want album art in your phone’s music app.
  4. Use sequential download mode for a library this size — each MP3 is saved as it finishes instead of building one enormous ZIP in memory.

320 kbps is the right default here, unlike most conversions

When the source is lossless there is no earlier generation of damage to hide, so the only question is how much you want to keep. 320 kbps CBR is transparent and universally supported. Use 192 kbps if you are optimising for storage on a large library — that is roughly 1.4 MB per minute and still very good. Below 160 kbps you are giving away the advantage the FLAC source gave you.

Supported formats, limits and browser notes

Sonic Batch decodes with the browser when it can (faster, no engine download) and falls back to the self-hosted WebAssembly engine when it cannot. Every combination below works in every listed browser; the column only tells you which decoder does the work.

Input formats accepted by this page
InputWhat it isChromeFirefoxSafariiOS
FLACLossless compression, typically 50–60% of WAV size, bit-identical when decoded.NativeNativeNativeNative
WAVRaw PCM samples with a small header. Perfect fidelity, roughly 10 MB per stereo minute.NativeNativeNativeNative
AIFFApple’s uncompressed PCM format — the WAV equivalent for Logic and Pro Tools.PartialPartialNativeNative
Output formats this page can write
OutputEncoderBitrates / depthSample ratesTags
MP3libmp3lame32–320 kbps8–48 kHzYes + artwork
Max per file
400.0 MB
Max per queue
4.00 GB
Max duration
4:00:00
Max archive
1.50 GB

These are enforced ceilings, checked before any decoding starts, not measured maximums — a file over the limit is rejected rather than allowed to exhaust the tab’s memory. Real-world capacity is lower on older phones, which is why the scheduler runs one file at a time on iOS and Safari.

Where your audio goes

Nowhere. Your file is read from disk into this browser tab with the File API, decoded and encoded by code running in that same tab, and handed back to you as a download. It is never transmitted.

That is a structural property of the application, not a policy promise: there are no API routes, no server actions and no third-party processing services in this project, so there is nothing capable of receiving a file. The page’s Content-Security-Policy also restricts connections to this origin, and the automated test suite includes a browser test that fails if any network request during import, preview, conversion or download carries media bytes.

The trade-off, stated plainly:results live in your tab’s memory until you download them. Closing or reloading the page discards them. There is nothing on a server to recover, because nothing was ever put there.

Read the full privacy detail

Troubleshooting

The track numbers came out wrong in my music app.

FLAC stores TRACKNUMBER as a bare number while ID3v2 conventionally uses “5/12”. Sonic Batch writes the bare number by default. If your player sorts alphabetically, set the track field explicitly in the metadata editor.

A hi-res FLAC produced a 48 kHz MP3.

That is expected and is reported as a warning. The MP3 format has no 96 kHz mode. The audible content of a 96 kHz master is almost entirely below 20 kHz anyway.

One file failed with a decode error.

Truncated FLAC files — common in interrupted downloads — fail their MD5 check partway through. Retry only failed items after re-downloading that track; the rest of the batch is unaffected.

Frequently asked questions

Can I hear the difference between FLAC and a 320 kbps MP3?

Under controlled listening conditions, very few people can, and not on phone speakers or typical earbuds. On a good system with revealing material some listeners can identify differences in cymbals and reverb tails.

Should I delete the FLAC files afterwards?

No. The MP3 is a derivative you can always recreate; the FLAC is your master. Once the FLAC is gone the discarded detail is gone with it.

Are tags and artwork preserved?

Yes. Title, artist, album, album artist, date, genre, track and comment are mapped from Vorbis comments to ID3v2.3, and the embedded front cover is carried across unless you strip it.

How long does an album take?

On a modern desktop browser a typical album converts in well under a minute because several tracks run in parallel. On iPhone the engine is single-threaded and processes one track at a time.