Android Storage: SDHC and SDXC

Storage by Dominik Bartsch

Storage by Dominik Bartsch

Ever wondered why there is a 32gb limit on storage cards on many Android devices? If you, like me, have a lot of data you want on your mobile device (business docs, music and map data in my case) and found this a bit restrictive, you’ll be pleased to know there is a workaround.


The reason behind this is the standards which underpin Secure Digital (SD) cards, as defined by the organisation which defines them. SDHC has a limit of 32gb, whereas SDXC allows for much greater storage capacity. SDXC devices can read/write SDHC cards but not vice versa. There is some (quite scary) ‘help’ on compatibility on the SDA website.

Given there cannot be any fundamental difference in the Secure Digital hardware as cards are backwards compatible, why is this?

It all boils down to the formatting of the card. SDHC uses FAT32 which has been around for many years. The newer SDXC standard uses a newer format to improve performance, exFAT, but this is a proprietary format not supported by many older devices and devices where the manufacturer is unwilling or unable to pay the license fees to and meet the licensing restrictions of the owner/creator of the format, Microsoft.


Despite what the standards body and Microsoft will tell you, there is no reason why an SD card cannot be formatted as FAT32 rather than exFAT. True, there may be a performance hit, but it would appear the main reason is that the use of exFAT generates income for the computing giant and presumably revenue for the standards body also. A rather cosy arrangement. As those of us who have used computers for while can attest to, there is no magic cut off at 32gb for FAT32; I’ve used larger hard drives than that before NTFS became the norm. So why not SD cards?

A 64gb SDXC card functioning perfectly happily in a SDHC Android device with a theoretical 32gb limit

A 64gb SDXC card functioning perfectly happily in a SDHC Android device with a theoretical 32gb limit

But don’t take my word for it. My phone has a maximum supported SD card size of 32gb. Only it now has a 64gb card fitted which works a treat. No noticeable performance degradation and oodles more space. Formatting the card is key and, funnily enough, it is not possible to format a 64gb card to FAT32 using Microsoft Windows. At least not natively. There’s a coincidence that Microsoft won’t allow users to do something that would impact their income generation through removing the need to use one of their proprietary standards…

But it is possible using tools such as fat32format.exe on Windows or eg AParted on Android. The Windows method has the advantage that the formatting can be done easily on a Windows computer, so no need for specialist tools on the Android device (ie no need to root it).

One gotcha here is the use of microSD card adapters: these are a bit sensitive and there are reports that SDHC adapters will not work with SDXC cards. This would suggest there is in fact some hardware difference. To play it safe, use an SDXC adapter; if you buy a good quality SDXC microSD card such as a Sandisk or Samsung, these generally come with a suitable microSD to SD adapter.


The method I used was:

  1. Unmount 32gb card, power off and remove card
  2. Copy data off my old 32gb card to my laptop
  3. Format new 64gb card to FAT32
  4. Copy card data back from laptop to FAT32 formatted 64gb card
  5. Reinsert card into Android device
  6. Enjoy oodles more storage


Arrangements between standards bodies and hardware manufacturers can be a little obstructive at times. If you have a need for more storage, it is sometimes necessary to go around what such folk would have you believe and investigate further. This workaround is ideal for devices which support SDHC but not SDXC and where you have lots of data to store; photos, videos, maps/geodata or in my case music.


Of course, anything you decide to do to your phone is your own decision; I am not responsible for any problems which may arise. If you’re not comfortable with rooting your device and hacking, please don’t try this. My phone has been quite considerably ‘improved’ to eg reconfigure the internal storage and customise Android so it works just how I want it to.

Having said that, if for some reason this workaround doesn’t work for you, it is easy enough to reformat an SD card back to exFAT using Windows.

The workaround presented here has been tested using a Sandisk Extreme microSD card, a rooted Android 4.2.1 phone and a Windows 7 Professional laptop.

I do wonder if it would also work for other devices, such as my Nikon digital camera, but quite frankly, my quality Sandisk 8gb cards I use there are more than large enough, even when shooting RAW as I do. Plus, on a DSLR, performance really is key as cards need to be as fast as possible to achieve maximum rates of capture and avoid undue buffering.


The only problem I have noticed thus far is a recent upgrade to the GravityBox module of the xPosed Framework resulted in a corrupted card, not sure why. At the time, the default install directory was set set to be the SD card and as xPosed works at a fairly low level, I can only assume there was some issue there. Having changed the default install directory to Phone Storage, this issue seems to have gone away. But this does illustrate why it is important to backup data on mobile devices, especially before getting all adventurous with non-standard hacks; my user generated content (photos and videos) is all set to sync to cloud storage and my music collection is maintained in the cloud anyway so, for me, a corrupted card means nothing lost, just some time on wifi needed to resync everything.

Good luck!