On June 28, 2017, Apple announced that

macOS High Sierra will be the last macOS release to support 32-bit apps without compromise.

How can I find out which apps on my Mac are 32-bit so that I can see if I need to upgrade them?

  • 1
    Are they going to be making their own 64-bit video card? – Physics-Compute Jul 8 '17 at 5:40
  • 2
    What, exactly, do you mean by "64-bit video card", @Physics-Compute? I assume you're referring to the memory bandwidth? That has nothing to do with the bitness of the processor or supported by the operating system. You don't need a 64-bit video card on a 64-bit OS; in fact, 64-bit video cards work fine on 32-bit OSes (which isn't, of course, true of apps). – Cody Gray Jul 8 '17 at 7:17
  • 1
    @CodyGray I would assume it is referring to the number of address bits it supports for DMA operations. It is a problem if you have more memory than can be addressed with 32 bits and you have allocated a buffer for DMA which you need to tell a piece of 32-bit hardware about. – kasperd Jul 8 '17 at 11:37
  • 1
    Sorry, I more precisely meant 64-bit drivers. Aren't the graphics drivers overwhelmingly 32-bit, which necessitate all processes that use them to be 32 bit mode as well? A process that is typically 64bit today needs to use IPC with a 32bit process to talk to the 32bit video card drivers. Not allowing 32bit drivers or processes seems like an issue if video card makers haven't made 64bit drivers, no? – Physics-Compute Jul 8 '17 at 13:53
  • Related: apple.stackexchange.com/q/96543/24330 – AllInOne Jul 8 '17 at 14:14
up vote 23 down vote accepted

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:

  1. Click on the Apple Menu
  2. Select About This Mac
  3. 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).
  4. This opens up the System Information window (or System Profiler window in older versions of the OS).
  5. In the Sidebar on the left you will see a number of headings and subheadings.
  6. Under the Software heading (it's the 3rd one down) you'll see a subheading labelled Applications. Click on this.
  7. 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.
  8. Once the list appears, you'll see column headings at the top.
  9. 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:

enter image description here

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.

  • It keeps timing out for me with the message "The plug-in did not respond quickly enough while gathering this information." – JBis Apr 19 at 11:38
  • Thanks @Josh for reminding me of this answer. I did become aware late last year that this was a possible issue but forgot I had answered this question! I've just edited my answer with a possible workaround that works for most users. Let me know if you still have problems. – Monomeeth Apr 19 at 21:31
  • Same issue when opening directly from /Applications/Utilities. – JBis May 30 at 15:36

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"

    enter image description here

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')"
  • Strangely for me, this method picks up a few PDF files from years ago, like "Welcome to Leopard". Otherwise seems to be working fine. – Thunderforge Jul 8 '17 at 5:13
  • 3
    @Thunderforge "Welcome to Leopard" is not a .pdf but an app IIRC, when you open it it chooses your language pdf and opens it in Preview. – Manuel Jul 8 '17 at 12:35
  • @Manuel Interesting! I was thrown off by the fact it has a PDF icon. Didn't even occur to me that it was actually an app that picked a PDF for you. – Thunderforge Jul 8 '17 at 13:31
  • I just noticed that this method doesn't find apps in ~/Library/Application Support, such as Steam games. The other solution does. Do you know if there is any way to modify the search to include that? – Thunderforge Dec 24 '17 at 1:09
  • 1
    @Thunderforge the terminal version does find Steam games. – Andrea Lazzarotto Feb 4 at 23:24

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.

This one line Terminal command will collect a list of apps into a text file on your Desktop. It grabs the 6 lines before and 2 lines after every occurrence of "(Intel): No" in the query. It does not however dig into the 32 bit supporting binaries or libraries for already compiled 64 bit apps. That list is much more extensive and I cannot find any resource that addresses a deeper level of concern if it's even an issue.

system_profiler SPApplicationsDataType | grep -B 6 -A 2 "(Intel): No" > ~/Desktop/32BitAppList.txt

Your Answer

 

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.