How does APFS on macOS handle upper/lower case file names?

APFS has case-sensitive and case-insensitive variants. The case-insensitive variant of APFS is normalization-preserving, but not normalization-sensitive. The case-sensitive variant of APFS is both normalization-preserving and normalization-sensitive. Filenames in APFS are encoded in UTF-8 and aren’t normalized.

The first developer preview of APFS, made available in macOS Sierra in June 2016, offered only the case-sensitive variant. In macOS 10.12.4, the APFS developer preview was updated to also include a case-insensitive variant. In iOS 10.3, the case-sensitive variant of APFS is used.

Apple’s Developer FAQs


Since many apps have not been updated to work with case sensitive file systems, Apple probably decided to do the upgrade with case insensitive by default. Hopefully as apps get updated the default in a future MacOS will change to be case sensitive.