Convert FLAC to AAC

Converting FLAC to AAC turns a lossless master into the compressed delivery file a specification asked for, at 96, 128 or 192 kbps. Because the source is lossless, this is the only lossy encode the recording has taken — which is the strongest position any AAC file can be made from. The master stays on your machine.

  • Where it runs In your browser. The file is never uploaded.
  • Lossy Some detail is traded for size. AAC cannot hold everything a FLAC can.
  • File size limit Up to 100 MB per file, free, without an account.

Up to 100 files at once. Mixed formats are fine.

One encode, and it is the first one this recording has had

Most routes into AAC on this site start from something already compressed, and the honest description of them is a second round of damage. This one does not. FLAC stores the exact samples that went into it, so the AAC encoder is handed the recording as it was recorded, with no earlier encoder's artefacts to spend bits describing.

That difference is larger than it sounds. A lossy encoder allocates its budget by deciding what a listener will not miss; when the input already carries the scars of a previous decision, the second encoder wastes part of its budget faithfully reproducing those scars. Starting from FLAC removes that waste entirely. It is the reason a delivery encode should always be made from the master and never from a copy somebody sent you.

The systems that ask for a raw AAC stream by name

A file with a `.aac` extension is not a container. It is Audio Data Transport Stream framing: a run of AAC frames, each carrying a short header that repeats the sample rate, the channel configuration and the profile. There is no index, no global header and no metadata area anywhere in it.

That shape is what certain systems want. Playout automation, segmenters that cut a stream into chunks, announcement and IVR players, and embedded hardware with a fixed parser all read elementary streams because a stream can be started at any frame and joined to another without being rebuilt. If a specification you were sent names ADTS, or names `.aac` rather than "AAC audio", it means this and not an M4A.

96, 128 and 192 kbps: reading the band off the specification

The Quality control resolves to a real bitrate inside the encoder, and AAC is offered three: Small file writes 96 kbps, Balanced writes 128, High quality writes 192. Four minutes of stereo lands near 2.9, 3.8 and 5.8 MB respectively. Nothing above 192 is available on this path.

Delivery specifications usually state a ceiling rather than a target, because the number came from a transport budget somebody set years ago. Pick the band at or just under the figure named, then check the result rather than assuming — a specification asking for "128 kbps AAC" is satisfied by Balanced, one asking for "up to 192" by High quality, and one asking for 256 or 320 cannot be met here at all.

Everything in the FLAC tag block stops here

FLAC carries a proper metadata system: named text fields for title, artist, album, catalogue number and anything else somebody invented, plus a dedicated picture block for artwork. ADTS has none of that. The AAC written here contains audio frames and nothing else, so every tag and every image is dropped at the boundary.

For a stream going into automation this is correct and expected — the playout system holds its own database and would ignore embedded tags anyway. For anything that will be filed, catalogued or handed to a person it is a real loss, and the answer is to convert to M4A instead, which holds the same AAC audio inside an MP4 container that has fields for all of it.

When the answer is an M4A and not a bare stream

It is worth being blunt about this before you convert a hundred masters. If the file is going to a person, a library, a podcast host, a phone or anything with a play button and a title on screen, the bare AAC is the wrong deliverable. It has no duration in it, so some players report the wrong length or refuse to seek, and it has nowhere to put a name.

The M4A route produces exactly the same encoded audio with a container around it, and almost every system that says "AAC" in casual language means that. Reserve the bare stream for the cases where a document names ADTS or an elementary stream, or where the receiving system rejected an M4A and told you why. Delivering the wrong one of these two is the most common way this conversion goes wrong.

Eight channels in a FLAC, and far more in an AAC frame

The registry records FLAC as topping out at eight channels — mono through 7.1 — and AAC as handling many more. Nothing in this direction has to be folded down, so a surround master arrives with its layout intact and a stereo master arrives as stereo. Mono stays mono, which halves the bitrate requirement for speech material and is worth keeping rather than doubling into a fake stereo pair.

Sample rate is carried across unchanged rather than normalised. A 44,100 Hz master produces a 44,100 Hz stream; a 48,000 Hz one produces 48,000. High-resolution masters are the case to watch: 96 kHz material is legal AAC but not every decoder on the receiving end will take it, and downsampling to 48 kHz in an editor before converting is usually what the specification quietly assumed.

The MD5 inside a FLAC has no counterpart in an AAC file

A FLAC stream header holds an MD5 of its decoded audio, computed when the file was made. That single field is what makes FLAC an archive format rather than a smaller copy: years later a decoder can reconstruct the samples, hash them and prove the file has not rotted. AAC has no equivalent, and a corrupted AAC stream is still a structurally valid AAC stream.

The practical consequence is a filing rule rather than an audio one. Keep the FLAC as the thing you archive and treat every AAC made from it as disposable output, regenerable in a minute from the master. Deleting a master because a delivery copy exists is the mistake this conversion makes easy, and it is not recoverable — the AAC cannot be turned back into what it came from.

Where the AAC encoder comes from, and what Firefox fetches

Chrome, Edge and Safari expose an AAC encoder through WebCodecs, and where one is present it is used directly with no download at all. Firefox does not ship one, so the first conversion to AAC in that browser fetches a WebAssembly encoder — once, and only on the pages that need it. A visitor converting a spreadsheet on this site downloads none of it.

Either way the encoding runs on your processor inside the tab. That is the property worth having for unreleased or embargoed material: you can open the network tab, run a conversion and watch the encoder come down while the audio goes nowhere. There is no queue, no account and no copy of your master sitting on somebody's disk waiting to be deleted.

A hundred masters in one drop, and the 100 MB ceiling

Files are capped at 100 MB each and a hundred can be dropped together, coming back as a ZIP. FLAC compresses to roughly half of uncompressed PCM, so 100 MB of CD-quality stereo FLAC is around twenty minutes of audio — comfortable for tracks, stems, announcements and episodes, and not enough for a concert recording or a full interview.

Where a master exceeds the cap, split it in an editor before converting or use a desktop encoder for that one file. Saying so in advance is more useful than letting a 600 MB drop fail after it has been read into a tab. The limit is the browser's memory rather than a plan tier, which is why there is no version of this page where paying makes it larger.

How to encode a FLAC as an AAC file

  1. Check whether the specification wants a bare .aac stream or an M4A — they hold the same audio.
  2. Drop your FLAC masters onto this page and pick a band: High quality writes 192 kbps.
  3. Download the AAC, or take a batch of deliverables together as a ZIP.

FLAC and AAC: an archive format against a delivery stream

FLAC compared with AAC
FLACAAC
Full nameFree Lossless Audio CodecAdvanced Audio Coding
File extension.flac.aac
Media typeaudio/flacaudio/aac
CompressionLossless — nothing is discardedLossy — file size is bought with quality
First published20011997
Published byXiph.OrgMPEG
SpecificationRFC 9639ISO/IEC 13818-7
LicensingOpen standardOpen standard
Standing todayCurrentCurrent
Bit depth32
Audio channelsup to 8up to 48
Opens in a browserEvery browserEvery browser
Considered insteadWAV, AIFF, MP3MP3, OPUS

Opening the result

VLC reads both FLAC and AAC, so there is a way to check the result against the original without a second tool.

File size and quality

The file gets substantially smaller, and it gets smaller by discarding detail. FLAC keeps everything; AAC keeps what the eye is poor at noticing. On a photograph that trade is close to free; on text, a screenshot or a line drawing it is visible as haloing around the edges.

What each format is for

The two are aimed at different work: FLAC at archiving, AAC at handing a finished file over, streaming and phones. That is worth weighing before converting, because the reason one exists is usually the reason the other is awkward.

FLAC is Xiph.Org's format, published in 2001. It records 32 bits per channel.

AAC comes from MPEG and dates from 1997, specified as ISO/IEC 13818-7. VLC, FFmpeg and iTunes all read it.

FLAC to AAC: what a delivery specification asks

Does converting FLAC to AAC lose quality?

Yes, and it is the only loss the recording has taken. AAC discards detail permanently, but it is doing so to a lossless source rather than to something already compressed, which is the best position a lossy encode can start from. High quality writes 192 kbps, the top of the three bands offered here, and at that rate the result is very hard to tell from the FLAC on ordinary playback equipment.

What bitrate does each quality band write?

AAC is offered a fixed set: Small file writes 96 kbps, Balanced writes 128 and High quality writes 192. A four-minute track lands near 2.9 MB, 3.8 MB and 5.8 MB. There is no 256 or 320 option on this path. If a specification names a figure above 192, this converter cannot meet it and a desktop encoder is the right instrument.

Do the FLAC tags come across?

No. The file written here is a raw ADTS stream — a run of AAC frames with a short header on each one — and it has nowhere to put a title, an artist, an album or cover art. The FLAC tag block and any embedded artwork are dropped. If the destination expects metadata, an M4A is the file to make instead, and it carries the same AAC audio.

Should I deliver a .aac file or an .m4a?

Read the specification literally. Systems that ingest elementary streams — segmenters, automation playout, some embedded players — want the bare .aac and will reject a container. Anything a person opens, files, or plays from a library wants the M4A, because that is where the duration, the seek table and the tags live. When the requirement is only "AAC", the M4A is almost always the safer delivery.

Is the sample rate or channel count changed?

Not in the normal case. The rate the FLAC carried is the rate the AAC gets, and the channel layout is preserved. FLAC tops out at eight channels by specification and AAC handles far more, so nothing in this direction has to be folded down. A 96 kHz master stays at 96 kHz unless the encoder on your machine declines that rate, in which case the conversion retries at 48,000 Hz and two channels rather than stopping — so check the first file of a batch against the specification before running the rest.

Is the master uploaded anywhere?

No. The FLAC is decoded and the AAC encoded inside the browser tab, on your own processor. Chrome, Edge and Safari have an AAC encoder built in; Firefox does not, so a WebAssembly encoder is fetched the first time you convert to AAC there. That package is the only thing that crosses the network — the audio itself never does, which matters for embargoed or unreleased material.

More about these formats