On an iPhone, AAC is a good codec. On Android, it is the same codec run through a software encoder that varies from phone to phone, and on some phones it measures worse than plain SBC. If AAC sounds harsh, hissy or dull on your Android phone and SBC does not, the codec is not the problem. The encoder in your phone is.
This matters most if you shop from the AAC speakers list with an Android phone, because the speaker advertising AAC does not mean your phone will encode it well.
Why Android AAC Can Be Worse Than SBC
AAC and SBC are both formats. What you hear depends on the encoder that squeezes your music into the format before sending it over Bluetooth. Apple built its own AAC encoder and tuned it for iPhones. Android phones mostly use the open source Fraunhofer FDK AAC encoder that ships with Android, running in software on the phone’s processor. Three things follow from that:
- AAC is heavier to encode than SBC. SoundGuys found that AAC needs much more processing power than SBC or aptX, and that phones which prioritize battery life can end up encoding at lower quality.
- The stock encoder is limited. Users and developers report a fixed upper frequency limit of about 17 kHz on high bitrates and no variable bitrate mode over Bluetooth on Android, so it cannot use AAC’s efficiency the way Apple’s encoder does.
- Manufacturers change it. Two Android phones with the same Bluetooth chip and the same speaker can send noticeably different AAC, which is why measurements and user reports disagree from phone to phone.
The result is that the SBC on the same phone, which is cheap for the processor and is sent at a high bitrate, can be the cleaner signal.
What Has Actually Been Measured
There is not a large, current, phone by phone database for this, so what exists is a handful of tests. These are the ones worth reading.
| Source | What they tested | What they found |
|---|---|---|
| SoundGuys | AAC high frequency roll-off on four phones | Huawei P20 Pro rolled off at 14.2 kHz, LG V30 at 16 kHz, Samsung Galaxy Note 8 at 17 kHz, and iPhone 7 reached 18.9 kHz. Their advice for Android was to stick with SBC or use aptX or LDAC where available. |
| Archimago, Part 1 | SBC, aptX, AAC and LDAC from a Huawei P30 Pro on Android 10 | SBC (328 kbps) held its own, and Android AAC was the worst performer, with visible smearing and distortion around the test tones. |
| Archimago, Part 2 | AAC encoder quality on Android 10 and 13, Windows 11, macOS and iPhones | The Android 10 phone was worse than SBC, a Galaxy Tab S6 Lite on Android 13 was only slightly better, and iPhone 11 and iPhone 14 Pro were excellent at 256 kbps. |
| Head-Fi thread | Listener reports | Long-running discussion of the same gap, including the frequency limit and switching to SBC. |
| Samsung Community thread | Galaxy owner reports | Cracking or distorted highs over AAC on One UI, gone when the phone is switched to SBC or LDAC. These are listener reports, not measurements. |
Which Phones Have A Good AAC Implementation?
iPhones are the reference. Archimago measured the iPhone 11 and iPhone 14 Pro at 256 kbps with the lowest distortion of everything tested, and called it what a good AAC implementation looks like. If you own an iPhone, leave AAC on.
No Android phone has been shown to match an iPhone. Among the phones SoundGuys measured, the Galaxy Note 8 extended furthest of the Androids at 17 kHz, which is close to the encoder’s known limit, so it is the least bad of that group rather than a full pass. Android results depend on the phone’s processor and the manufacturer’s power management, and no operating system version guarantees a good result. There is no trustworthy measured list of current Android phones with a genuinely good AAC encoder. If you have a measurement of a specific phone, send it through the comments page.
Which Android Phones Are Worth Changing Settings On?
Based on the evidence above, these are the cases where switching the codec is worth a listen:
- Huawei phones. The P20 Pro had the lowest roll-off SoundGuys measured, and the P30 Pro was the phone whose AAC Archimago found worse than SBC.
- LG V30 and other older phones with aggressive power management. Measured at 16 kHz roll-off.
- Samsung Galaxy phones on One UI 5 and later. Owners report distorted highs over AAC that disappear on SBC. This is a large number of reports, but they are not measurements, so treat it as a reason to try, not proof.
- Any phone where AAC sounds harsh, dull or hissy next to SBC. Your ears are a valid test, and an A/B on the same track is cheap to do.
Pixel And Samsung Phones: Reports And Fixes
Neither Google nor Samsung publishes AAC measurements, so what exists for these phones is owner reports. They are consistent enough to be worth reading, but they are not lab tests, and not every owner sees the problem. One Samsung community member replied that AAC works as it should on their phone.
Samsung Galaxy. Owners describe cracking high frequencies or a compressed, roughly 96 kbps sound over AAC that disappears on SBC or LDAC.
- Distorted audio over Bluetooth AAC codec in One UI 6 (Galaxy S21 Ultra, four headphones tested)
- The AAC codec via Bluetooth is of poor quality (Galaxy S23, One UI 6.1): the poster says it has happened since One UI 5, on both S series and Fold phones, and switching to SBC improves it notably.
- Bad audio quality of AAC Bluetooth codec (Galaxy S22): the poster dates it to Android 13 and says Android 14 did not fix it.
- AAC Bluetooth codec issues (Galaxy S23 Ultra, XDA): an intermittent delay between channels over AAC that goes away on SBC, LDAC or Samsung Seamless Codec, across Galaxy Buds 2 Pro, Sony LinkBuds S and two Soundcore models.
Google Pixel. There is no Pixel-specific thread or measurement. The only Pixel report is a reply in the Galaxy S23 thread above, where an owner says they tested Pixel and Xiaomi phones and saw the same AAC problem since Android 13. Treat that as a hint that this is an Android-level issue and not a Samsung one, not as confirmation. A general XDA thread on Bluetooth codecs other than SBC or LDAC reports the same thing with AAC in a car and aptX HD on headphones, forced back to SBC in Developer options.
What owners report fixes it: setting the codec to SBC in Developer options, as described below. One Galaxy S22 owner also asks for a way to disable HD audio over Bluetooth permanently, because they have to go into Developer options and do it every time they connect.
MakeUseOf’s walkthrough covers opening the Bluetooth audio codec menu on both Pixel and Samsung phones. Samsung and Google have not confirmed a single cause.
How To Switch Codecs On Android
- Open Settings, then About phone, and tap Build number seven times until developer mode unlocks.
- Go back to Settings, open Developer options, and scroll to the Bluetooth audio section.
- Choose Bluetooth Audio Codec and select SBC. Some phones also let you set the sample rate and bit depth there. Leave them at the highest option available.
- Reconnect the speaker and play the same track you compared on AAC.
Some manufacturers hide this menu or ignore the setting. Third-party apps that automatically pin a codec exist. There is also a modified SBC called SBC XQ that runs at much higher bitrates, but it comes from custom ROMs such as LineageOS and is not part of stock Android or the official Bluetooth specification.
What This Means For Speakers
Most Bluetooth speakers here support only SBC, or SBC and AAC, so the practical decision is between those two. Check the speaker page’s codec line, and see Bluetooth codecs explained for how rarely the codec beats tuning and drivers. If you are on Android and your speaker supports something better than AAC, such as aptX or LDAC, prefer it, but remember that speaker tuning still moves the sound far more than any of this. The EQ presets page is usually a bigger improvement than a codec change.
Related Speaker Guides
- Bluetooth Versions Explained: Does 5.3 Beat 5.0?
- Bluetooth Codecs Explained: SBC vs AAC vs aptX vs LDAC
- Bluetooth Audio Delay: How Much Lag Is Too Much?
- Aux Latency: Does A Wired Speaker Connection Lag?
- Auracast vs PartyBoost vs PartyCast: Do They Pair?
Frequently Asked Questions
Is AAC worse than SBC on Android? It can be. Android encodes AAC in software with an encoder that varies by phone, and tests on phones such as the Huawei P30 Pro measured AAC worse than SBC. On an iPhone, AAC is better than SBC.
Why does AAC sound better on iPhone than on Android? Apple uses its own tuned AAC encoder, which Archimago measured at 256 kbps with very low distortion, while most Android phones use a software encoder that is heavier on the processor and limited in high frequency extension.
Which Android phones have good AAC? No Android phone has been measured matching an iPhone. Among the phones SoundGuys tested, the Galaxy Note 8 was the best of the Androids at a 17 kHz roll-off, and the Huawei P20 Pro was the worst at 14.2 kHz.
How do I change the Bluetooth codec on Android? Enable Developer options by tapping Build number in About phone, then choose the Bluetooth Audio Codec setting in Developer options and pick SBC, or a better codec such as aptX or LDAC if both the phone and speaker support it.
Should I switch to SBC? Only if AAC sounds worse to you. Play the same track on both and keep whichever sounds cleaner, since results vary by phone. If you use an iPhone, keep AAC.
Does the codec matter for Bluetooth speakers? Much less than tuning and drivers. See Bluetooth codecs explained and the speaker guides.