Skip to content

FAAC & FAAD vs FDK-AAC: Speed, Quality, and Build Size ​

Short answer: in this benchmark, FAAC and FAAD3 are the fastest AAC encoder and decoder tested, and FAAC matches or beats FDK-AAC, Apple AAC and FFmpeg on objective quality at most bitrates, with the exceptions listed below. Together they are under a third of the ROM size of FDK-AAC, and both can be trimmed further at build time.

Who ran this: the benchmark is run by the FAAC project on its own benchmark suite, so read the results with that in mind. Every desktop figure is from one run on October 28, 2026 on a MacBook Pro M1, 32 GB. Encoder and decoder results are separate sections of one generated leaderboard, not a single head-to-head.

AAC encoder quality: FAAC vs FDK-AAC, Apple AAC, and FFmpeg ​

The chart plots average MOS (a 1.0–5.0 objective estimate, where 1.0 is poor and 5.0 is transparent; not a listening test) against requested bitrate, 16–320 kbps, for 48 kHz stereo. Each encoder is shown at its higher-scoring profile (AAC-LC or HE-AAC v1) at each bitrate.

48 kHz stereo · average objective MOS across 16–320 kbps · higher is better
  • FDK-AAC
  • Apple AAC
  • FFmpeg AAC
  • FAAC
Average MOS vs bitrate. Drag to choose a bitrate.

Drag the marker along the chart, or focus it and use the arrow keys, to inspect a bitrate. The shaded region is what the magnified view shows.

Magnified · 32–64 kbps · y-axis 2.1–4.8

FDK-AAC · 32 kbps: 3.84 MOSFDK-AAC · 40 kbps: 4.13 MOSFDK-AAC · 48 kbps: 4.27 MOSFDK-AAC · 56 kbps: 4.44 MOSFDK-AAC · 64 kbps: 4.53 MOSApple AAC · 32 kbps: 3.84 MOSApple AAC · 40 kbps: 4.11 MOSApple AAC · 48 kbps: 4.26 MOSApple AAC · 56 kbps: 4.41 MOSApple AAC · 64 kbps: 4.54 MOSFFmpeg AAC · 32 kbps: 2.37 MOSFFmpeg AAC · 40 kbps: 2.61 MOSFFmpeg AAC · 48 kbps: 3.74 MOSFFmpeg AAC · 56 kbps: 4.07 MOSFFmpeg AAC · 64 kbps: 4.31 MOSFAAC · 32 kbps: 3.82 MOSFAAC · 40 kbps: 4.13 MOSFAAC · 48 kbps: 4.30 MOSFAAC · 56 kbps: 4.45 MOSFAAC · 64 kbps: 4.55 MOS

48 kbps · bars span MOS 1.0–5.0 · best first

FAAC4.30
FDK-AAC4.27 (−0.03)
Apple AAC4.26 (−0.04)
FFmpeg AAC3.74 (−0.56)

Parentheses show the gap to FAAC. Near the top of the scale, compare the numbers rather than bar lengths.

Each encoder is shown at its higher-scoring profile for that bitrate, so points may mix profiles. Bitrates are requested targets, not matched actual payload rates. Scores are model estimates, not listening-test results.

Where FAAC leads and where it doesn't (48 kHz stereo, best profile per encoder). FAAC has the highest average MOS at 16–24 and 48–128 kbps. It trails Apple and FDK-AAC by at most about 0.02 MOS at 32 kbps and FDK-AAC by 0.006 at 40 kbps, and trails Apple by at most 0.008 MOS at 160–320 kbps. At 48 kbps, HE-AAC v1 is the best profile for FAAC, FDK-AAC and Apple AAC: 4.297 for FAAC, 4.267 for FDK-AAC and 4.262 for Apple AAC. FFmpeg's best at 48 kbps is AAC-LC, at 3.741.

Across all 35 scenarios (Apple completed 29 of them), FAAC also ranks first on both overall and first-percentile MOS (the score that 99% of clips meet), with 4.541 and 2.785. Per-scenario results, profile breakdowns and bitrate accuracy are in the full report.

AAC encoder speed and memory ​

Encoding throughput

722× realtime

4.3× the measured FDK-AAC throughput

FAAC722×
FDK-AAC169×
Apple AAC182×
FFmpeg AAC52×

Aggregate throughput · higher is better

FAAC is the fastest encoder in the comparison at 4.3× FDK-AAC throughput. It also has the lowest peak RAM of the four encoders: 2.6 MB, versus 3.3 MB for FDK-AAC, 8.3 MB for Apple AAC and 18.0 MB for FFmpeg.

AAC decoder quality and speed ​

Decoding throughput

2,120× realtime

2.4× the measured FDK-AAC throughput

FAAD32,120×
FDK-AAC876×
Apple AAC1,146×
FFmpeg AAC580×
Helix AAC943×

Aggregate throughput · higher is better

FAAD3 is the fastest decoder tested, at 2.4× FDK-AAC throughput and 1.85–3.66× Apple and FFmpeg. Across all scenarios its overall MOS (4.193) ties FFmpeg and is within 0.005 of FDK-AAC (4.188), and at 48 kHz stereo FAAD3, FFmpeg, Apple and FDK match within about 0.003 MOS (LC and HE-v1). Decoded quality among FAAD3, FFmpeg and FDK-AAC is therefore a tie, and the practical differences are speed, memory and size. Peak RAM is 3.0 MB for FAAD3, versus 7.4 MB for FDK-AAC, 7.8 MB for Apple AAC and 17.0 MB for FFmpeg; only Helix AAC is lower, at 1.9 MB.

Apple AAC scores lower across all scenarios (3.944 overall MOS, 12.5 dB mean SNR). Helix AAC scores lowest (3.575 overall MOS), recorded 421 crashes and 169 timeouts, and does not support HE-AAC v2 Parametric Stereo. FDK recorded 10 runaways. Decoder timings were measured concurrently and include contention. For profile and licensing guidance, see the implementation comparison.

AAC library size: FAAC and FAAD3 vs FDK-AAC ​

The benchmark measures the ROM image of the library each codec is built into. FDK-AAC's figure covers its encoder and decoder together, so the fair comparison with FAAC and FAAD3 is the two added together. Apple AAC is bundled with the operating system, and FFmpeg's figure is the ffmpeg command-line executable, not the libraries that hold its AAC codecs, so neither is a comparable size and both are left out. Helix AAC, a decoder-only library, has a 121.4 KB default ROM image against 168.1 KB for FAAD3, but see its stability and HE-AAC v2 caveats above.

LibraryCoversROM image (default build)
FAAC + FAAD3Encoder (99.9 KB) + decoder (168.1 KB), built separately268.0 KB
FDK-AACEncoder and decoder940.5 KB

With the default build, FAAC and FAAD3 together are under a third of FDK-AAC's size. FAAC and FAAD are also configurable: you can build only the encoder or only the decoder, and switch off HE-AAC, HE-AAC v2, DAB, or DRC. On an ESP32-S3 an AAC-LC-only decoder is 28.8 KB and an AAC-LC-only encoder is 37.4 KB. See build options for ESP32. Desktop and ESP32 figures differ because they use different compilers, targets and option sets.

How the measurements are made ​

  • Quality is objective: ViSQOL scores speech and Zimtohrli scores music, each compared with the source. These are estimates, not listening-test results; test audible quality yourself before relying on them. The suite covers mono speech, stereo music and multichannel audio at several sample rates, and also tracks difficult passages, transient timing and stereo image.
  • Bitrate on the chart is the requested target bitrate, not the actual payload rate. Actual payload rates and bitrate accuracy are in the full report.
  • Speed and footprint are throughput (audio duration per unit of processing time), peak process memory, and ROM image (.text + .rodata + .data, not the installed package size), recorded with each build's toolchain and settings.

These figures are for one machine. Measure your own build on your target device: throughput alone does not establish live-audio delay or power use. Definitions are in the benchmark docs, with the test scenarios and footprint checks.

Tested versions ​

Run on October 28, 2026 (MacBook Pro M1, 32 GB). Throughput, peak RAM and ROM image are covered in the sections above; the full leaderboard has per-scenario results, profile breakdowns and bitrate accuracy.

ImplementationTested version or buildTested as
FAAC / FAAD33.0.0 (ecc245c0)Encoder / decoder
FDK-AAC1.0.9 (encoder), 2.0.0 (decoder)Encoder / decoder
Apple AAC27.2Encoder / decoder
FFmpeg AACN-127192-gef52e1cc38, experimental NMR (encoder)Encoder / decoder
Helix AAC1.0Decoder only

The leaderboard covers 35 scenarios for FAAC, FDK-AAC and FFmpeg; Apple's encoder completed 29 of 35 after 6 encoding failures.

Next: choose an encoder or decoder, or test audible quality.

Documentation & website content licensed under CC-BY-SA 4.0. WebAssembly component code licensed under AGPL-3.0.