| Developer(s) | Apple Inc. |
|---|---|
| Full name | Apple File System |
| Introduced |
|
| Preceded by | HFS Plus |
| Partition IDs | 7C3457EF-0000-11AA-AA11-00306543ECAC (GPT) |
| Structures | |
| Directory contents | B-tree[1] |
| Limits | |
| Max file size | 8Exabyte (9,223,372,036,854,775,808 bytes)[2] |
| Maxno. of files | 9,223,372,036,854,775,808[2] |
| Allowed filename characters | Unicode 9.0 encoded inUTF-8[3][A] |
| Features | |
| Dates recorded | access, attributes modified, contents modified, created |
| Date range | January 1, 1970 – July 21, 2554[1] |
| Date resolution | 1nanosecond[2] |
| File system permissions | Unix permissions,NFSv4ACLs |
| Transparent compression | Partial (decmpfs)[4] |
| Transparent encryption | Yes[5] |
| Copy-on-write | Yes[3][5] |
| Other | |
| Supported operating systems | macOS,iPadOS,iOS,tvOS,watchOS,visionOS |
Apple File System (APFS) is aproprietaryfile system developed and deployed byApple Inc. formacOSSierra (10.12.4)[6] and later,iOS10.3,tvOS 10.2,[7]watchOS 3.2,[8] and all versions ofiPadOS.[9][10] It aims to fixcore problems ofHFS+ (also called Mac OS Extended), APFS's predecessor which had been in use since 1998. APFS is optimized forsolid-state drive storage and supportsencryption,snapshots, and improved handling ofmetadata integrity.[11][12]
Apple File System was announced atApple'sdevelopers’ conference (WWDC) in June 2016 as a replacement forHFS+, which had been in use since 1998.[11][12] APFS was released for64-bitiOS devices on March 27, 2017, with the release of iOS 10.3, and for macOS devices on September 25, 2017, with the release ofmacOS 10.13.[13][8]
Apple released a partial specification for APFS in September 2018 which supported read-only access to Apple File Systems on unencrypted, non-Fusion storage devices. The specification for software encryption was documented later.[14]
The file system can be used on devices with relatively small or large amounts of storage. It uses 64-bitinode numbers,[2] and allows for more secure storage by using a technology called Data Protection. The APFS code, like the HFS+ code, uses theTRIM command for better space management and performance. It may increase read-write speeds on iOS and macOS,[8] as well as space on iOS devices, due to the way APFS calculates available data.[15]
APFS uses theGPT partition scheme. Within the GPT scheme are one or more APFS containers (partition type GUID is7C3457EF-0000-11AA-AA11-00306543ECAC). Within each container there are one or more APFS volumes, all of which share the allocated space of the container, and each volume may have APFS volume roles.macOS Catalina (macOS 10.15) introduced the APFS volume group, which are groups of volumes thatFinder displays as one volume. APFS firmlinks lie betweenhard links andsoft links, and link between volumes.
In macOS Catalina theSystem volume role (usually named "Macintosh HD") became read-only, and inmacOS Big Sur (macOS 11) it became a signed system volume (SSV) and only volume snapshots are mounted. TheData volume role (usually named "Macintosh HD - Data") is used as an overlay or shadow of theSystem volume, and both theSystem andData volumes are part of the same volume group and shown as one in Finder.
Clones allow the operating system to make efficient file copies on the same volume without occupying additional storage space. Changes to a cloned file are saved asdelta extents, reducing storage space required for document revisions and copies.[10] There is, however, no interface to mark two copies of the same file as clones of the other, or for other types ofdata deduplication.
The feature is automatically available when a user copies any files using theFinder application, which ismacOS's defaultfile manager, but not when using thecp command.[16] To do that on thecommand-line, thecp utility on macOS has a-c parameter that allows it to use theclonefilesystem call.[17]
APFS volumes supportsnapshots for creating a point-in-time, read-only instance of the file system.[10]
Apple File System natively supportsfull disk encryption,[2] and file encryption with the following options:
APFS supports 64-bitinode numbers, supporting over 9 quintillion files (263) on a single volume.[2][5]
Apple File System useschecksums to ensuredata integrity formetadata but not for the actual user data, relying instead onerror-correcting code (ECC) mechanisms in thestoragehardware.[18]
Apple File System is designed to avoid metadata corruption caused bysystem crashes. Instead of overwriting existing metadata records in place, it writes entirely new records, points to the new ones and then releases the old ones, an approach known asredirect-on-write. This avoids corrupted records containing partial old and partial new data caused by a crash that occurs during an update. It also avoids having to write the change twice, as happens with an HFS+ journaled file system, where changes are written first to the journal and then to the catalog file.[18]
APFS supports transparent compression on individual files using Deflate (Zlib), LZVN (libFastCompression), andLZFSE. All three areLempel-Ziv-type algorithms. This feature is inherited from HFS+, and is implemented with the same AppleFSCompression / decmpfs system using resource forks or extended attributes. As with HFS+, the transparency is broken for tools that do not use decmpfs-wrapped routines.[19]
APFS adds the ability to have multiple logical drives (referred to asvolumes) in the same container where free space is available to all volumes in that container (block device).[20]
While APFS includes numerous improvements relative to its predecessor, HFS+, a number of limitations have been noted.
APFS does not provide checksums for user data.[21] It also does not take advantage of byte-addressablenon-volatile random-access memory.[22][23]
Enumerating files, and anyinode metadata in general, is much slower on APFS when it is located on ahard disk drive (HDD). This is because instead of storingmetadata at a fixed location likeHFS+ does, APFS stores them alongside the actual file data. OnSSDs, thisfragmentation of metadata is inconsequential due to their lack of moving parts, but on HDDs, it leads to substantial performance degradation as the drive's read/write heads must physicallyseek out scattered data fragments.[24]
Besides that, a key feature of APFS is "copy-on-write," which allows for rapid file duplication by creating references to the original data rather than copying it outright. This feature enables functionalities likesnapshots and quick file copies. However, when files are modified after being copied, APFS creates new extents (data blocks) for the changes, leading to more fragmentation over time. This issue is exacerbated with applications likeTime Machine, which creates multiple versions of files, further increasing fragmentation and slowingperformance.[25] As a result, APFS is generally not recommended for use on HDDs, particularly for workloads involving frequent file modifications, copying, or snapshot usage.[26]
Unlike HFS+, APFS does not supporthard links to directories.[3][27] Since the version of theTime Machine backup software included in Mac OS X 10.5 (Leopard) through macOS 10.15 (Catalina) relied on hard links to directories, APFS was initially not a supported option for its backup volumes.[28][27] This limitation was overcome starting inmacOS 11 Big Sur, wherein APFS is now the default file system for new Time Machine backups (existingHFS+-formatted backup drives are also still supported).[29] macOS Big Sur's implementation of Time Machine in conjunction with APFS-formatted drives enables "faster, more compact, and more reliable backups" than were possible with HFS+-formatted backup drives.[30][31]
An experimental version of APFS, with some limitations, is provided inmacOS Sierra 10.12.4. It is available through the command linediskutil utility. Among these limitations, it does not performUnicode normalization while HFS+ does,[37] leading to problems with languages other than English.[38] Drives formatted with Sierra's version of APFS may also not be compatible with later versions of macOS or APFS, and the Sierra version of APFS cannot be used withTime Machine, FileVault volumes, or Fusion Drives.[39]
SincemacOS 10.13 High Sierra, all devices with flash storage are automatically converted to APFS.[40] As ofmacOS 10.14 Mojave,Fusion Drives and hard disk drives are also upgraded on installation.[41] The primary user interface to upgrade does not present an option to opt out of this conversion, and devices formatted with the High Sierra version of APFS will not be readable in previous versions of macOS.[40] Users can disable APFS conversion by using the installer'sstartosinstall utility on the command line and passing--converttoapfs NO.[42]
FileVault volumes are not converted to APFS as of macOS Big Sur 11.2.1. Instead macOS formats external FileVault drives as CoreStorage Logical Volumes formatted with Mac OS Extended (Journaled). FileVault drives can be optionally encrypted.[citation needed]
iOS 10.3,tvOS 10.2, andwatchOS 3.2 convert the existingHFSX file system to APFS on compatible devices.[13][8][43]
This section needs to beupdated. The reason given is: Software companies have had a long time to update their software to support APFS. The article should reflect recent developments.. Please help update this article to reflect recent events or newly available information.(August 2025) |
Despite the ubiquity of APFS volumes in today's Macs and the format's 2016 introduction, third-party repair utilities continue to have notable limitations in supporting APFS volumes, due to Apple's delayed release of complete documentation. According to Alsoft, the maker of DiskWarrior, Apple's 2018 release of partial APFS format documentation has delayed the creation of a version of DiskWarrior that can safely rebuild APFS disks.[44] Competing products, including MicroMat's TechTool and Prosoft's Drive Genius, are expected to increase APFS support as well.
| Name | Author | License | Mount | Read | Write | Repair | Format | Handle Encrypted | Notes |
|---|---|---|---|---|---|---|---|---|---|
| Paragon APFSSDK CE | Paragon Software Group | 4-ClauseBSD License | No | Yes | No | No | No | No | Paragon has a write-capable commercial version of this SDK.[45] |
libfsapfs | Joachim Metz | GNU LGPL v3 | FUSE | Yes | No | No | No | No | It has been packaged intoDebian,Fedora Linux,Rocky Linux,Red Hat Enterprise Linux andUbuntu software repositories.[46][47][48] |
apfs-fuse | Simon Gander | GNU GPL v2 | FUSE | Yes | No | No | No | No | [49] |
linux-apfs-rw withapfsprogs | Ernesto A. Fernández | GNU GPLv2 | Linuxkernel module | Yes | experimental | Yes | experimental | No | [50] |
| Paragon's APFS for Windows | Paragon | Paid commercial | Windows driver | Yes | No | No | No | NotApple T2 | [51] |
Side note: Finder copy creates space-efficient clones, but cp from the command line does not.
APFS right now is incompatible with Time Machine due to the lack of directory hard links, a fairly disgusting implementation that likely contributes to Time Machine's questionable reliability.
Library and tools to access the Apple File System (APFS)
{{cite web}}: CS1 maint: url-status (link)