Skip to main content

Apple File System (APFS): What you need to know

macOS Sierra
macOS Sierra

APFS is the Apple File System. It was introduced at WWDC 2016 and, starting this year, it will replace the existing HFS+ file system on Apple Watch, Apple TV, iPhone, iPad, MacBook, iMac, and Mac Pro.

Apple made a developer preview available for macOS Sierra back at WWDC 2016. With iOS 10.3, Apple's released APFS to every modern iPhone and iPad owner on the planet as well. Yeah, pedal to the metal.

Most of us don't need to know much about Apple File System. It's an implementation detail that will be largely transparent as it rolls out. Any future features it enables, like smarter backups and faster updates, and things we haven't even thought about yet, will no doubt get marketed all on their own anyway. For them, APFS will likewise be an implementation detail as well.

For anyone interested in file systems, though, there's a lot in APFS to find interesting.

What's new with APFS?

June 4, 2018: Apple unveils macOS Mojave with support for Fusion Drives

At WWDC 2018, Apple announced big changes coming to macOS Mojave, including a systemwide Dark mode, redesigned Mac App Store, new Finder and Desktop tools, and a whole lot more. One note Apple dropped during the Mojave presentation, almost as an afterthought, is that APFS will finally support Fusion Drives with Mojave.

May 23, 2018: Federighi: 'We intend to address [APFS on Fusion Drive] very soon...'

Apple's senior vice president of software engineering, Craig Federighi, has reportedly shed a little bit of light on what's happening with APFS support for Fusion Drives on the Mac. The news comes by way of an email response.

From MacRumors:

In response to Jonathan's question, Federighi gave a short but enticing answer, which we verified:

Hi Jonathan,

We intend to address this question very soon...

Thanks,

  • craig

Previously, Apple published a support document (opens in new tab) stating that APFS will not be supported on Fusion Drives at High Sierra's launch. If you've converted your files to APFS on a Fusion Drive in the High Sierra beta, you'll have to revert them back to HFS+.

How to revert your Fusion Drive back to HFS+ file system in macOS High Sierra

Why is Apple replacing HFS+?

HFS+ has been around since 1998 — almost twenty years ago — and has been updated and McGyver'd in almost every way imaginable since then in order to try and keep up with the demands of modern computing.

Since then we've gone from the Mac to iPhone, Apple TV, iPad, and Apple Watch, from a few million devices to over a billion devices, and from kilobytes and megabytes of data to gigabytes, terabytes, and beyond.

We've also gone from hard drive platters to solid state disks, from physical installs to digital downloads, and from manual backups to Time Machine and iCloud. We've gone from rigid, single-threaded data structures to more flexible approaches.

Through it all, HFS+ and its valiant crew have kept it running. Running in the red, maybe, held together with bubblegum and paperclips, but running.

But running in the red is no way to get to the future. For that, you need something new.

Sometimes, to make it to the future, you need a fresh approach.

What makes APFS more consistent?

While HFS+ runs on all of Apple's current devices, from Apple Watch to Mac Pro, there are differences in how it's been implemented across those devices, including key areas like encryption. That means different source code and separate maintenance and development.

APFS was designed to scale more consistently across Apple's platforms, now and into the future. That should allow for a single code base with fewer resources need to develop and maintain it and allow it to grow faster and better.

Will APFS be faster?

A great deal of speed has to do with perception. It's faster to reach for a drink on the table next to you than to have to get up and go get it from the fridge. APFS does several things to make Apple devices feel faster.

APFS, for example, focuses on low-latency. So, it prioritizes things like app launches and data delivery. That should minimizing beach balls and spinners.

It also does fast directory re-sizing, which means you shouldn't have to wait to see how big a directory is, if you're in the habit of looking.

How does APFS better suit SSDs?

Apple says APFS has been written with solid state storage in mind. That's the flash storage chips inside Apple Watch, Apple TV, iPhone, iPad, MacBooks, and high-end Mac desktops.

What Apple means by this is that APFS writes in a way optimized for solid state, and supports the TRIM command which is helpful for people who delete a lot of files and like to keep a lot of space free.

Snapshots and clones... What about the snapshots and clones?

Two of the most high-profile features of APFS are snapshots and clones.

Snapshots create a read-only copy of the system at that single point in time. It's initially more space-efficient, because it doesn't duplicate any data until changes begin to be made. It also means changes can be reverted.

Clones are copies of "files" (both real files and the Mac's bundled folders-as-files). They're similarly more space-efficient at first, also not duplicating data until changes are made.

This makes creating both snapshots and clones far faster and more efficient than making traditional copies.

Will APFS help with storage space

For macOS users who employ partitions, AFS fixes a long-standing limitation. Basically, APFS sidesteps the issue of one partition running out of space when there's free space elsewhere on the drive by creating a container around all the partitions. If a partition needs more space it can claim it from the container, regardless of whether or not that space is physically adjacent to the partition.

Questions remain about how APFS will handle recovering storage from deleted files that have been cloned, though, since space can't be reclaimed as long as a single clone still exists.

APFS also supports sparse files, so storage is only allocated when it's really needed.

What about data integrity and crash protection?

APFS has atomic-level save state. That has to do with how it handles committing writes for files — they're either verified as completed or it appears as though they never happened at all. In other words, files use copy-on-write so a new version is created and the old version only released when the save is successful.

There are also checksums on metadata, though not on user-data.

APFS is better for encryption, though, right?

Apple makes security and privacy first-class, public facing, top-down features for their products and APFS is no different. Unlike current implementations, where macOS has disk-level encryption and iOS has file-level encryption, thanks to differences in implementation and hardware capabilities, APFS has a more consistent single-key and multi-key implementations for system-level, file level, and even specific data and metadata.

The type of encryption can vary between AES-XTS and AES-CBC depending on hardware.

Is APFS missing anything?

APFS is in its first generation, and that means not everything is included yet. Things like compression aren't yet available, which feels like an obvious next step. Likewise checksums on data. (Though Apple seems to believe Error Correction Code — ECC — on modern flash storage currently handles that well enough.)

It also doesn't currently support Fusion Drives or mechanical hard drives.

Will APFS be open sourced?

APFS is not currently open source. Over the years, Apple has either kept open and continued to contribute to, or themselves open sourced, the Mach Kernel, WebKit, LLVM, and Swift, among other projects.

Whether that will eventually include APFS we'll have to wait and see.

Should you use APFS?

If you've updated to iOS 10.3, you're on APFS. iOS is well contained and controlled environment, so it makes sense for Apple to start there. No transition is 100% safe, but iOS is as safe as they come.

If you're on the macOS Sierra beta, you can play around with APFS but the limitations listed above make it a relatively small playground. Just don't trust any important data to any APFS volumes until it's out of beta and into release.

Where can you learn more about APFS?

For more on the Apple File System, check out these resources:

Rene Ritchie
Contributor

Rene Ritchie is one of the most respected Apple analysts in the business, reaching a combined audience of over 40 million readers a month. His YouTube channel, Vector, has over 90 thousand subscribers and 14 million views and his podcasts, including Debug, have been downloaded over 20 million times. He also regularly co-hosts MacBreak Weekly for the TWiT network and co-hosted CES Live! and Talk Mobile. Based in Montreal, Rene is a former director of product marketing, web developer, and graphic designer. He's authored several books and appeared on numerous television and radio segments to discuss Apple and the technology industry. When not working, he likes to cook, grapple, and spend time with his friends and family.

19 Comments
  • Actually HFS was first released in 1985 replacing MFS.. HFS+ was a major extension that was released in 1998
    Much of the code in HFS+ was lifted from HFS. So it has been 30 years from the time of HFS. It was great for floppy disc based OS and files, started to show issues as hard drives got bigger and now with ssd and TB systems really is getting long in the tooth.
    Thought Apple would have switched to ZFS in 2006 or so. Jobs nixed that movement totally. There were legal and licensing issues as well.
    AFPS looks to have many benefits and should support Apple products for a long time. I look forward to a new file system. Some of the macOS code will really be enhanced and made more bulletproof with APFS. Apple will need to step up its game to provide cross platform translations or APIs for them in order to make the transition easier.
    Greg
  • || If you're on the macOS Sierra beta, you can play around with APFS Sierra BETA?
  • macOS, like iOS, has a beta branch for developers and one for the public. macOS beta is currently 10.13.4.
  • philrodo is right. This is a typo in the article. All released versions of macOS Sierra have APFS support in them, beginning in summer 2016 with the first betas.
  • I formatted a 64gb USB key drive with APFS and moved my iTunes library onto it. Has worked swimmingly for about six weeks now.
  • I gained about 1gb of space going from 10.2.1 to 10.3 public beta 1 thanks to this.
  • I'd say (given Apple's current track record), and how crucial a file system is to data integrity and stability.... you're going to want to skip updates for about a year after it is released (I mean, stay on the last release prior to it, and wait a year before implementing). :(
  • I don't imagine there'll be much issue in hyper-controlled systems like iOS or watchOS. For macOS, yeah, wait until you're super-confident.
  • Yes, I'm much more worried about the Mac side of things. But, I've also got more control over it, I suppose (i.e.: backups, file-management, etc.)
  • Dominic Giampaolo and other Apple Engineer have been working on fs for years. You are in good hands. Sent from the iMore App
  • We can hope.... but on the Mac side, I'm going to be really, REALLY cautious.
  • My question is this: if I copy a file and make a change to it, is a new full file created? I'm confused as to whether the copy is a hard link that updates both locations, an incremental/differential change that relies on a common source, or if it depends on the partion you copy to. Also, how does this effect versioning of the copy? Does copying the file reset old versions or does it keep them? In other words, can you revert a copy of a file to the original's initial state? Odd questions, but I need a good mental model to know what quirks, serendipitous or otherwise, to expect.
  • Not working on boot drives is a bizarre restriction. Makes APFS pretty useless if you can only use on accessory drives, and even then not for Time Machine backups. It sounds like they're basically trying to replicate ZFS. Huge waste of effort, why not use ZFS? Given how long it took to iron out the bugs in ZFS (it's rock-solid now) it will be a while before APFS is ready for prime-time.
  • Apple sometimes likes to create their own things so that they have more control of them, like Apple Maps for example. Apple used to use Google Maps on the iPhone which on one hand made more sense because Google Maps was more solid due to how long it had been around. However, having created their own Maps application, they have much more control over it, and they're already doing certain things better.
  • Licensing issues and power draw. Apple looked at ZFS with interest and decided to roll their own. Sent from the iMore App
  • Apple is most definitely NOT trying to replicate ZFS. They are aiming at a totally different target. ZFS is great for what it sets out to do, but that's not what Apple wants/needs for their modern file system. As for the boot drive restriction, why is that a big deal while APFS is in beta? More like a deliberate choice to keep people from shooting themselves in the foot.
  • I'm not on the beta program so am looking forward to APFS greatly. HfS+ is looking depressingly long in the tooth compared to even NTFS (don't get me started on its blindness towards case sensitivities). I'm disappointed that there is no sign of APFS being open source. Apple proudly state that they lead the way in open source software and APFS would have been a perfect way to put prove this.
  • So, Apple created a scalable ZFS? They took enough from BSD already, they can't improve ZFS to help it scale better? Relevant XKCD https://xkcd.com/927/
  • To be fair, there's no real "standard" for file systems, every OS has its own. Windows with NTFS, Linux generally has ext4, and Apple with HFS+ soon to be APFS. The most standard thing with file systems is that most memory sticks tend to be formatted to FAT32, but that's as old as the hills…