Try to format a 64 GB USB drive as FAT32 in Windows - Disk Management,
format.com, the right-click menu, doesn't matter - and Windows refuses.
FAT32 itself doesn't have that problem. With 512-byte sectors, the format
supports volumes up to roughly 2 TB. The 32 GB wall is a decision
Microsoft made in their own formatter, not a constraint of the file
format.
Why it still matters: a lot of cameras, game consoles, car stereos, and smart TVs only understand FAT32. Not exFAT, not NTFS. If you've got a 64 GB card for one of those devices, Windows' built-in tools simply won't get you there.
What's actually involved
A FAT32 volume needs, in order:
- A boot sector describing the volume (sectors per cluster, FAT size, total sectors, where the root directory lives)
- An FSInfo sector with free-cluster bookkeeping
- A backup boot sector
- Two copies of the FAT itself (the table that tracks which clusters belong to which file)
- A root directory, which for FAT32 is just the first cluster of the data area
None of that is large or complicated. The reserved area is typically 32 sectors. Even the FAT tables, sized to the drive, are a small fraction of total capacity. The actual data area - the part Windows' formatter is supposedly protecting you from - is untouched by any of this. Quick format never even looks at it.
So we wrote it ourselves
PHAT32 builds these structures directly: the same sizing formulas Windows itself uses internally (cluster size tables, the FAT-size calculation from Microsoft's own FAT32 spec), just without the artificial size check. It locks the volume, writes the boot sector and FAT tables, and - this part matters - reads everything back afterward to confirm it landed correctly, rather than assuming a write succeeded just because the API call didn't return an error.
There's also a full-format option that scans every data cluster for bad sectors and marks any it finds, the same way a real formatter would. Quick format is still the default, since most people formatting a healthy USB drive don't need to wait for a full surface scan.
It's on GitHub if you want to see how it's built, or just want the tool.