Apple - How can I find out which Mac apps are 32-bit?
In the Finder hit cmdF to get a search window.
- Choose Search: This Mac
- Hit the first search criterion and choose "Other..." and here "Executable Architectures" "Is" "i386"
Hit the + button and add a second criterion "Executable Architectures" "Is not" "x86_64"
and you will get a list of all i386 only (i.e. 32-bit) apps.
In Terminal this is done with:
mdfind "(kMDItemExecutableArchitectures == 'i386') && (kMDItemExecutableArchitectures != 'x86_64')"
One way to identify what 32-bit apps you're still using is to use the System Information option under About This Mac. The exact steps differ depending on the version of macOS you're running, but below are the broad steps you should be able to follow to suit your circumstances:
- Click on the Apple Menu
- Select About This Mac
- In the About This Mac window that pops up, click on the System Report... button at bottom left (if you're using an older OS, you may need to click on the More Info... button near the centre bottom).
- This opens up the System Information window (or System Profiler window in older versions of the OS).
- In the Sidebar on the left you will see a number of headings and subheadings.
- Under the Software heading (it's the 3rd one down) you'll see a subheading labelled Applications. Click on this.
- In the main part of the window on the right-hand side you will see a list of apps appear. Be patient as this may take a little while to populate.
- Once the list appears, you'll see column headings at the top.
- The last column is labelled
64-Bit (Intel)
Click on this column heading to sort apps by whether or not they're 64-Bit (i.e. they'll have either a Yes or No listed against each app).
Refer to the image below as an example:
NOTE: In the above image I've deliberately not sorted the last column so you can see entries with both a Yes and No listed against them. So, in the example above you'll see that iMovie v10.1.6 is a 64-Bit app while iMovie 9.0.9 is not 64-Bit.
Edit - If the above steps result in an error
I have seen reports that a small number of users are getting a "The plug-in did not respond quickly enough while gathering this information" error message while waiting for the list to populate.
If this happens, quit the System Information app (or System Profiler app in older versions of macOS) and start again, but this time skip steps 1 to 4 and go directly to your Applications/Utilities folder and open the System Information app (or System Profiler app) directly from there. Once it opens, follow Steps 5 to 8 above.
The other answers so far, from what I understand, will list 32-bit macOS apps (and maybe some 32-bit binaries) in the metadata index. If you want to list every 32-bit only executable binary on your system give this one-liner a go:
find / -type f -perm +111 -exec file -p {} \; -exec head -c 1 /dev/zero \; | xargs -0 -n 1 sh -c 'echo "$@" | head -n 1' -- | grep -v x86_64 | grep -E Mach-O.+i386
If you have GNU findutils installed this can probably be considerably simplified. Some of the complexity here is to overcome the limitations of the BSD findutils included in macOS.