Create a Chrome profile shortcut on the desktop, on macOS
Most guides for this task were written for Windows, where Chrome's profile editor has a switch that drops a profile icon onto the desktop. The Mac build has no such switch, so following those steps on macOS leads nowhere. A desktop icon that opens one specific profile is still possible on a Mac, and there are three ways to get one: install a site as a web app from inside the profile, save a small Script Editor application that launches Chrome with a profile flag, or write a double clickable .command file. The first takes thirty seconds and needs no code. The second is the one to pick when the icon should open the whole profile, not one site.
Which method fits the job
The right method depends on what the icon is supposed to open. A shortcut for the work Gmail inbox is a different thing from a shortcut for the entire work browser, and Chrome on macOS handles them differently.
| What the icon should open | Method | Code needed | Opens in a normal Chrome window |
|---|---|---|---|
| One site, in one profile | Install page as app | None | No, it opens in its own app window |
| The whole profile | Script Editor application | One line | Yes |
| The whole profile, quick test | .command file |
One line | Yes, plus a Terminal window |
| Anything | Finder alias to Chrome | None | Does not select a profile |
The last row is the trap. A Finder alias points at the Chrome application and cannot carry arguments, so it opens whichever profile was used last. Apple's own description of aliases makes the limitation clear: an alias is a pointer to an item, not a command (Apple: create and remove aliases). Selecting a profile requires passing an argument to Chrome, and only the second and third methods do that.
If the goal is one web app under one account, use the first method. If the goal is the whole profile with its bookmarks and extensions, use the second.
Method 1: install a page as an app from inside the profile
Chrome can turn any site into a standalone app, and the app remembers which profile it was created in. That makes it the only no code route to a profile specific icon on a Mac.
- Switch to the profile that should own the icon. Click the profile picture at the top right of the Chrome window and choose the profile.
- In that profile's window, open the site, for example Gmail signed in to the work account.
- Click the three dot menu, then Cast, save, and share, then Install page as app..., and confirm the name.
The menu path is the one Google documents for desktop Chrome (Google Chrome Help: use web apps). On a Mac the installed app appears in a folder called Chrome Apps inside the Applications folder of the user's home directory, and Spotlight can find it by name. To get it on the desktop, open that folder in Finder, hold Command and Option, and drag the app to the desktop. That creates an alias rather than moving the real app.
Because the app was installed from the work profile, it opens with that profile's cookies, so the work Gmail is already signed in. A second install of the same site from a personal profile creates a second app with the personal account. Both can be open at once, each in its own window with its own Dock icon.
The limits are worth knowing before choosing this route. The app window shows one site, without the profile's tab strip, so it is not a way to open the full browser. Installed apps are listed at chrome://apps inside the profile that owns them, and removing one is done from that page or from the app's own menu. If the profile itself is deleted, its apps stop working, since the cookies they relied on are gone.
Method 2: a Script Editor app that opens the whole profile
This is the method to use when the icon should open a complete Chrome window in a chosen profile, with its tabs, bookmarks, and extensions. It is a short AppleScript saved as an application, and the Chromium project documents the same approach for its own flags (Chromium docs: user data directory).
Find the folder name of the profile
Chrome's flag takes the name of the profile's folder on disk, not the name shown in the profile menu. A profile called "Client A" in the menu is usually stored as a folder called Profile 2 or Profile 5. Guessing the number from the menu order is the most common reason a shortcut opens the wrong account.
The reliable way to read it takes ten seconds. In the profile that the shortcut should open, type chrome://version in the address bar and look at the line labelled Profile Path. The last part of that path is the folder name. On a Mac the path starts with ~/Library/Application Support/Google/Chrome/, which matches the default location in the Chromium documentation linked above. Write the folder name down exactly, including the space and capital letter.
Write and save the app
- Open Script Editor. It is in the Utilities folder inside Applications (Apple: Script Editor User Guide).
- Create a new document and paste one line, replacing the folder name with the one from
chrome://version:
do shell script "open -na 'Google Chrome' --args --profile-directory='Profile 2'"
- Choose File, then Save. Set File Format to Application, name it after the account (for example "Client A Chrome"), and save it in the Applications folder.
- In Finder, hold Command and Option and drag the saved app to the desktop to make an alias there.
The open command is the standard macOS launcher. The -a part names the application, -n asks for a new instance, and everything after --args is passed to Chrome (ss64 reference for macOS open). The profile flag itself is a regular Chromium command line switch, of the same kind described in the Chromium guide to running with flags (Chromium: run Chromium with flags).
Give each shortcut a different icon
Several shortcuts that all show the Script Editor icon defeat the purpose. To change one, copy any image to the clipboard, select the saved app in Finder, choose File, then Get Info, click the small icon at the top left of the info window, and paste. Apple documents the same steps for files and folders (Apple: change icons for files or folders). Using the profile's own color or the client's logo makes the right icon findable at a glance.
To open a specific site in that profile at the same time, add the address at the end of the command, after the profile flag, inside the same quotes.
Method 3: a .command file for a quick test
A .command file is a shell script that Finder runs when it is double clicked. It is the fastest way to test whether a profile flag works before saving a proper app.
- Open TextEdit, choose Format, then Make Plain Text, and paste:
#!/bin/zsh
open -na "Google Chrome" --args --profile-directory="Profile 2"
- Save it to the desktop as
Client A.command. - In Terminal, run
chmod +x ~/Desktop/Client\ A.commandto make it runnable.
Double clicking it opens Chrome in the chosen profile. It also opens a Terminal window each time, which is why it suits testing better than daily use. Terminal can be set to close the window when the command finishes, in its profile settings under the Shell tab, but the window still flashes on screen. Once the folder name is confirmed, moving the same line into Script Editor gives a cleaner result.
When the shortcut opens the wrong window
A shortcut that is built correctly can still look broken. Three behaviors explain almost every report.
Chrome is already running. Without -n, macOS sees Chrome is open, brings the existing window forward, and ignores the profile flag, because arguments only apply at launch. With -n, the request is handed to the running Chrome, which then opens a window in the requested profile. That is why the command above keeps the -n.
The profile already has a window open. Chrome may bring that existing window forward instead of opening a second one. This is normal. Test it once so the behavior is not a surprise.
A blank, signed out window appears. The folder name in the command no longer matches a real profile. This happens after a profile is deleted and created again, since Chrome gives the new one a new folder number and does not reuse the old one. When Chrome is pointed at a folder that does not exist, it creates an empty profile there. Check chrome://version in the correct profile and update the command.
After moving to a new Mac
Shortcuts copied to a new Mac usually point at the wrong accounts. Profiles are created on the new machine in whatever order they are set up, so Profile 2 on the old Mac may be a different person or client on the new one. Nothing shows an error. The fix is to open chrome://version in each profile on the new machine and edit each script. Doing this as part of the move avoids a week of opening the wrong inbox.
Chrome updates do not break any of these methods. The command names the application, not a version, and profile folders stay in place across updates.
What a shortcut does not solve
A profile shortcut fixes the launch, and leaves three daily problems untouched.
First, all profile windows still belong to one Chrome application. They share one Dock icon, the app switcher shows Chrome once, and notifications arrive from Chrome without saying which profile sent them. With three or four profiles open, finding the right window means going through the Window menu.
Second, a profile is a convenience, not a lock. Google's own help page says that anyone who has the device can switch to any other Chrome profile on it and see things such as browsing history (Google Chrome Help: manage multiple profiles). A desktop shortcut does not change that.
Third, each profile shows one account per service at a time in the window it opens. Seeing two Slack workspaces or two Gmail accounts side by side still means arranging two windows by hand.
When the count reaches three or four profiles, the maintenance starts to add up: one script per profile, one icon per script, and a round of edits on every new Mac. A different kind of tool takes the opposite approach. An app aggregation browser for macOS keeps each web app in its own container with its own sign in, so a second Gmail sits next to the first in one window. The Workspaces page explains how those containers are grouped by client or project, and the Supported apps page lists which services can be added by name.
What to change first
Open chrome://version in each profile and write down the real folder names before building anything. Then build one Script Editor app, confirm it opens the right account with Chrome both closed and already running, and duplicate it for the other profiles. If the list of profiles keeps growing, SpaceDeck is the alternative to a fifth launcher.
Frequently asked questions
Why is there no "Create desktop shortcut" option for Chrome profiles on a Mac?
That switch exists only in the Windows build of Chrome, where desktop shortcuts are files that can carry launch arguments. A Finder alias on macOS cannot carry arguments, so the equivalent has to be built as an installed web app, a Script Editor application, or a .command file.
Where is the folder name of a Chrome profile shown?
Open the profile, type chrome://version in the address bar, and read the Profile Path line. The last part of the path, such as Default or Profile 3, is the folder name the --profile-directory flag needs. The name in the profile menu is a separate label and does not work in the command.
Can the desktop shortcut open Gmail directly in a specific profile?
Yes. Either install Gmail as an app from inside that profile with Install page as app, or add the Gmail address to the end of the Script Editor command after the profile flag. The first opens Gmail in its own window; the second opens it as a tab in a normal Chrome window for that profile.
Will Chrome updates break the shortcut?
No. The command refers to the Google Chrome application by name, and profile folders are kept across updates. Shortcuts usually break only when a profile is deleted and recreated, or when the shortcut is copied to a different Mac where the folder numbers differ.
Does a profile shortcut stop other people from opening the profile?
No. It is only a faster way to open it. Google states that anyone with access to the device can switch to any Chrome profile on it, so separate macOS user accounts are the way to keep people out of each other's browsing data.