I saw this post on Mastodon, and it got me thinking.

Are there any other hardcoded folder names in macOS? Where would I even start looking?
Well, based on what I know, every program on macOS is a directory that ends with .app, which means all I have to do is to find Finder’s location.
That should be pretty easy!
antranigv@zvartnots:~ $ cd /System/ antranigv@zvartnots:/System $ find . -type d -name Finder.app 2>/dev/null ./Library/CoreServices/Finder.app ./Volumes/Data/System/Library/CoreServices/Finder.app
Well, that was easy to find! Don’t worry, /System/Library is the same as /System/Volumes/Data/System/Library, Apple has a weird way of doing mount points, and I’m not here to judge. Well, at least not today!
Next I have to dig into Finder.app’s content, let’s see what we have.
antranigv@zvartnots:/System $ cd Library/CoreServices/Finder.app/ antranigv@zvartnots:/System/Library/CoreServices/Finder.app $ find . -type f -name 'Developer*'
Weird. Nothing at all?
I wonder what type of files we have here? I already know that I wanna see all the file types except Mach-O.
$ find . -type f -print0 | xargs -0 -I% -L 1 file -b "%" | sort -u | grep -v 'Mach-O' ASCII text, with no line terminators Apple binary property list IFF data, AIFF audio Mac OS X Code Directory version 20100 - 203 bytes Mac OS X Code Directory version 20100 - 213 bytes Mac OS X Code Directory version 20100 - 215 bytes Mac OS X Code Directory version 20100 - 217 bytes Mac OS X Code Requirement Set - 76 bytes Mac OS X Code Requirement Set - 84 bytes Mac OS X Code Requirement Set - 88 bytes Mac OS X bill of materials (BOM) file Mac OS X icon, 114423 bytes, "ic13" type Mac OS X icon, 1162872 bytes, "ic12" type Mac OS X icon, 23712 bytes, "ic13" type Mac OS X icon, 30805 bytes, "ic13" type Mac OS X icon, 37834 bytes, "ic13" type Mac OS X icon, 72729 bytes, "ic13" type Mac OS X icon, 76602 bytes, "ic13" type XML 1.0 document text, ASCII text XML 1.0 document text, Unicode text, UTF-8 text data
Okay! we’re getting somewhere!
According to Magic file directory on FreeBSD, the filename is usually .icns
I think the rest will be easy, let’s try this again!
$ find /System/Library -type f -name 'Developer*.icns' 2>/dev/null /System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/DeveloperFolderIcon.icns
Bingpot!
What else do we have there?
$ find . -type f -name '*Folder*.icns' ./UsersFolderIcon.icns ./DocumentsFolderIcon.icns ./SidebarHomeFolder.icns ./ApplicationsFolderIcon.icns ./PrivateFolderBadgeIcon.icns ./GenericFolderIcon.icns ./PicturesFolderIcon.icns ./SidebarDesktopFolder.icns ./PublicFolderIcon.icns ./SidebarGenericFolder.icns ./SystemFolderIcon.icns ./ServerApplicationsFolderIcon.icns ./LibraryFolderIcon.icns ./ReadOnlyFolderBadgeIcon.icns ./SidebarBurnFolder.icns ./OpenFolderIcon.icns ./SmartFolderIcon.icns ./BurnableFolderIcon.icns ./SidebarDownloadsFolder.icns ./SidebarMoviesFolder.icns ./SidebarPicturesFolder.icns ./UtilitiesFolder.icns ./SidebarSmartFolder.icns ./HomeFolderIcon.icns ./SidebarApplicationsFolder.icns ./MovieFolderIcon.icns ./SidebarDocumentsFolder.icns ./DropFolderBadgeIcon.icns ./DownloadsFolder.icns ./GroupFolder.icns ./SidebarUtilitiesFolder.icns ./SidebarMusicFolder.icns ./DeveloperFolderIcon.icns ./NewFolderBadgeIcon.icns ./MusicFolderIcon.icns ./DesktopFolderIcon.icns ./SitesFolderIcon.icns ./SidebarDropBoxFolder.icns
These are good! Let’s look at them!
I wrote a script that converts all these .icns files to proper PNGs using the iconutil program.
#!/bin/sh
for icns in *.icns;
do
iconutil -c iconset "${icns}"
done
for iconset in *.iconset;
do
cp "${iconset}/icon_512x512@2x.png" "${iconset}-icon_512x512@2x.png" ||
cp "${iconset}/icon_32x32.png" "${iconset}-icon_32x32.png"
done
Here are the ones that we see basically every day!
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
Here are some of the exotic ones that we don’t always notice, in an alphabetical order.
The Burnable folder! Still supported even on macOS Ventura!
![]()
The Developer folder! If you don’t know where you should put your code, this is the right place for it!
![]()
The Group folder!
![]()
The Library!
![]()
The Public folder! Want to share something with your local network? Put it here!
![]()
The Server Applications Folder! Wait, what? I’ve never seen this before. If you know what this is, please leave a reply 🙂
![]()
The Sites folder! If you’re new to macOS, this is a kindly reminder that macOS ships with Apache2. Yes, and ~/Sites is the default UserDir, i.e. http://localhost/~yourusername
$ grep '^UserDir' /etc/apache2/extra/httpd-userdir.conf UserDir Sites
![]()
The System folder!
![]()
The User folder!
![]()
And finally… the Utilities folder which lives inside the Application folder!
![]()
As sad as it is, these are the old icons, i.e. pre-Ventura (I think). I wish if there was a way to click on a switch and change it back, since it’s all here anyway!
That’s all folks…