How to List All Applications on a Mac
Need to know what applications are on any Mac? Mac OS offers a variety of ways to list apps that are installed on a Mac, and we’ll cover three different approaches to this: a basic listing of installed Mac apps which is sufficient for most user needs, an intermediate and more thorough listing of apps and software found in Mac OS, and finally, an advanced approach that is completely all-inclusive, making it possible to discovery every single app found anywhere in the file system.
Each of these methods for listing Mac apps will work with any version of MacOS and Mac OS X.
Basic: Visit the /Applications/ Folder in Mac OS X to See Installed Mac Apps
The simplest approach to see what apps are on a Mac is to visit the /Applications folder, this will show all apps that users have installed through the App Store, that came bundled with the Mac, and that have been installed through most package managers, and by user drag & drop. For the vast majority of purposes and for most user levels, this is adequate to list what apps are on a Mac:
- From the Mac Finder, hit Command+Shift+A to jump to the /Applications folder
- Pull down the View menu and choose “List” to scroll through an easy to read list of all apps in the Applications folder
Visiting Launchpad can also serve to list apps for novice users, though the /Applications/ folder in list view is easier to scan for many users.
Recall that you can easily save lists of folders, including what’s within the Applications folder, into a text file by using this trick, this may be helpful for troubleshooting purposes.
The Applications folder can be helpful when determining which apps are OK to force quit, and it can also be used to uninstall apps either by manually removing them, or by using a tool like AppCleaner to delete the app and all associated components that reside elsewhere in the filesystem.
Intermediate: List Every Application on the Mac from System Information
Going beyond what applications are stored within the /Applications/ folder, Mac users can also use the System Information app to list every app residing in Mac OS X. This is intermediate to advanced, because this list does not just show end-user apps. Instead, this will include many system apps that come bundled with a Mac that have no obvious enduser purpose, performing a wide variety of system activities and functions. Absolutely do not delete or modify any of these applications unless you know exactly what you’re doing and why you’re doing it – you could easily break MacOS or lose data.
- Option+click on the Apple menu and choose ‘System Information’ (called ‘System Profiler’ in earlier releases of Mac OS)
- From the side menu, look under ‘Software’ and choose “Applications”
You’ll find columns for application name, version, and where the app was obtained from, and a modification date. Clicking on an individual listing will show if the app is signed, its location in the file system of Mac OS X, and the Get Info string data.
Unless you know exactly what you’re doing, do not attempt to modify any application based on this list. Many apps that are required by Mac OS X or other applications will be listed here that are not intended to be interacted with by end users.
Advanced: Find Every Application (.app) Anywhere on the Mac via Command Line
For advanced users and forensic purposes, you can also use the find tool to search for every single .app file (application package) residing anywhere for any user and in any folder on a Mac by turning to the command line. The syntax to perform this is as follows, sudo is used to search all system and user directories:
sudo find / -iname *.app
The output can be a bit of a firehose as there are tons of .app files contained throughout MacOS X from the root directory out, so you may want to redirect the results into a text file or limit the search to a specific directory for more manageable results.
sudo find / -iname *.app > ~/Desktop/EveryMacDotApp.txt
You can narrow down the search by pointing find at a specific directory or user account if need be.
If any of these lists are too detailed or inclusive, you can also turn to the command line to list all apps downloaded from the Mac App Store, which offers a much more limited result when compared to the methods outlined above.
There are other ways to list apps and software found throughout Mac OS X, but the methods above should be sufficient for most user needs. If you have a particularly handy approach that you want to share, do let us know in the comments. Oh, and if you’re an iOS user, don’t feel left out, you can use a a simple Spotlight trick to see every app on an iPhone or iPad.
Had to add single quotes around *.app to make it work.
just ls /Applications
Maybe a better way is to go to applications,in Finder select all, and paste in text edit ?
Now thats what I call a hack !
I want to warn you all, anything with a chip can be hacked. Your refrigerator, TV, DVR, smart phone, router, home security systems, wifi lightbulbs, space station, EVERYTHING!
It doesn’t matter who you are, you are being tracked by various govt agencies. Even you. And it matters, even if you have no secrets. The profile they create from your own Posts can be inaccurate, and could get you in huge trouble. Worse than that, your info is posted on the dark web, where anyone can steal every bit of info about you from where you were born to where you’d prefer to die.
This is meant to scare you, because it’s absolutely true.
I’m friends with whistleblowers, activists, hackers, and media. I know InfoSec, I just don’t know Apple.
Please please protect yourselves. I don’t even want to get into how easy it’s going to be with quantum computing.
Sometimes we can go around in circles and getting very suspicious about anything and everybody. We manufacture our own cage and complain the society to be locked up.
There are so much information between us every day – there are billions of webpages already on internet – millions of new pages are being produced every week – and millions of mail and SMS between us every day – it will take millions of people a lifetime to look at every page and every message for just 1 second each, just to control the amount of stuff there is on Web right now. And tomorrow new stuff is showing up and the day after tomorrow, millions of new pages…. etc. So there will never be enough control-freaks to control the entire communication and information on earth. And this is just what is on Internet. So much other communication happen. So many computers out there. Some more easy to hack then others…
So, I don’t know how important everybody think he or she is in the entire world population? We should never give away our freedom to any government or institution, but we should never give away our freedom to our own paranoia either…
I did not move any applications except the download file for Yosemite, to install later, if I can’t get online.
I WAS absolutely hacked. I saw it brute force it’s way thru router. I found wormholes, force enable hacks, etc. Macs are incredibly easy to hack.
I was seeing a blackhat hacker. We broke up. My mac was hacked. It is incredibly slow, and there’s nothing but pics and music on it. Everything was erased. It isn’t being used as a bot, according to a program in firefox.
I was able to find all the apps, once I disconnected from internet. I was able to find worm files, including one in sharingd.
If anyone knows why I get:
/dev/fd/4: is not a directory
/dev/fd/3: is not a directory
Please advise.
Also, what is rdisk?
Thx for all answers, you’re all great!
Anyway to also list the version number of the applications found?
I’m using this to find the installed apps in the Applications folder:
sudo find /Applications -iname *.app
Can something be added to that command so it also returns the versions of the applications?
Solution: The below command gives comma seperated values “App Name”, “App Path” and Version number”, which can be imported into excel.
sudo find /Applications -iname *.app -maxdepth 3 -exec basename {}, \; -exec echo -n {}”,” \; -exec mdls -name kMDItemVersion {} \; | sed ‘s/kMDItemVersion =//g’ | sed ‘s/\”//g’;
If you want a lot more information per app, give this a try from the terminal:
system_profiler SPApplicationsDataType
And you can send terminal output to a text file, for easier searching, by appending the following to a terminal command:
> filepath/file.txt
For example:
system_profiler SPApplicationsDataType > /Users/your_username/Desktop/whatever.txt
Neil, this is a great trick with a lot of helpful information output, thanks!
this only works if spotlight is enabled. if its disabled this returns an error like: 2016-01-07 12:23:02.696 system_profiler[48381:2955228] Metadata.framework [Error]: couldn’t get the client port
Thanks so much for this tip. Much more like the information I have been looking for!
Anastasia, my guess is that when you ran the command in the terminal you left it running from the user folder, not from the root or /Applications folder, or used “~” instead of “/” as the root.
i did this, with output to desktop. the only app it found was the install yosemite app i moved to my user file.
i know i was hacked in 2012, but what does this mean?
You opened the Applications folder and put all the apps on the desktop?? No, don’t do that! You need the apps in the Applications folder. Maybe you did something wrong, did you read the instructions on what to do?
It is unlikely that you were ‘hacked’ in 2012 or ever if you have a Mac, unless someone guessed or obtained your password there is not really a way someone could ‘hack’ you, and why would they unless you have secrets? How do you know that it happened? Maybe you installed some spam or clicked on some spam stuff, but brute hacking is pretty rare.
Regarding the Intermediate method (List Every Application on the Mac from System Information), how would you get a text file or delimited text file that contains the details. e.g. version, obtained from, last modified, etc., while keeping the horizontal row format of the apps?
Managed to only get this far: Just application and version seperated by a comma
for i in ls /Applications/*; do echo “$i””,” && mdls -name kMDItemVersion “$i” | sed ‘s/kMDItemVersion =/Version/g’; done
CORRECTION to display result in 1 line:
for i in ls /Applications/*; do echo -n “$i””,” && mdls -name kMDItemVersion “$i” | sed ‘s/kMDItemVersion =/Version/g’; done
This works with comma seperated values but only has App Name, App Path, Version number:
sudo find /Applications -iname *.app -maxdepth 3 -exec basename {}, \; -exec echo -n {}”,” \; -exec mdls -name kMDItemVersion {} \; | sed ‘s/kMDItemVersion =//g’ | sed ‘s/\”//g’;
I have tried this line but I get this error.
sed: 1: “‘s/”//g’”: invalid command code ?
sed: 1: “‘s/kMDItemVersion=//g’”: invalid command code ?
I have sense there is a incorrect space. Please advise.
Thank you
A neat trick I discovered a long time back is that if you load TextEdit and select ‘Format > Make Plain Text’ you can then drag and drop files from finder into the window to display the file paths and names.
So in this context you can either drag-and-drop the contents of the Applications folder there, or the results of a finder search.
Command-Shift-D toggles TestEdit.app from Rich Text to Plain Text
Or, do what I do, change the default from Rich Text to Plain Text in Preferences.
You trick using Spotlight on iOS doesn’t work any more. Only shows 6 Apps on my iPhone.
Great find and mdfind trick thanks
Also it possible use Spotlight index in command line through mdfind. Much faster than ‘find’ which traverse all filesystem.
For example:
mdfind kMDItemContentType=\*.application-bundle