Use Gmail as its own app on a Mac
Gmail is the tab that never closes. It sits somewhere in a row of twenty others, it gets lost every time the browser restarts, and the only way back to it is a Cmd+Tab to the browser followed by hunting along the tab strip. The obvious fix is to make it an application, with its own Dock icon and its own place in the app switcher. The obvious fix is also the one Google has never shipped for macOS.
What exists instead is four different ways to build the same result, each with a different set of things it quietly gives up. The differences are not cosmetic. One of them loses offline access, one loses Gmail search entirely, one loses the ability to hold more than a single account, and one is the reason people end up reading mail from the wrong inbox for twenty minutes without noticing.
There is no official Gmail desktop client
Google ships Gmail as a website and as mobile applications. There is no macOS build. The Gmail help pages point Mac users at the browser, and the closest thing to an official desktop story is that Gmail supports a browser based offline mode, which works in Chrome and not in Safari.
That matters because it sets the ceiling on every option below. Anything running on a Mac that displays Gmail is either the website in a container, or a third party client talking to Google's servers through IMAP or through the Gmail API. Those two families behave differently enough that the choice is worth making deliberately.
The website in a container keeps every Gmail feature, because it is Gmail. Labels, filters, categories, snooze, the search operators, the keyboard shortcuts, chat and Meet if they are enabled. A separate client has to reimplement whatever it wants to support, and IMAP clients in particular cannot see several concepts Gmail treats as fundamental.
Four ways to give Gmail its own window
| Approach | Own Dock icon | Own Cmd+Tab slot | Gmail features | Offline | Several accounts |
|---|---|---|---|---|---|
| Safari, Add to Dock | Yes | Yes | Full | No | One per web app |
| Chrome, install as app | Yes | Yes | Full | Yes, if enabled in Gmail | One per profile |
| Native client using the Gmail API | Yes | Yes | Most, depends on the client | Yes | Yes |
| Apple Mail over IMAP | Yes, shared with all mail | Yes, shared | Limited | Yes | Yes |
Safari, Add to Dock
macOS Sonoma added the ability to turn any site into a web app. Open Gmail in Safari, use the Share menu, choose Add to Dock, and the result is a bundle with its own icon, its own window without the browser interface, and its own entry in the app switcher. The web app inherits the website data from Safari at the moment it is created, so it usually opens already signed in.
The limitation is offline. Gmail's offline mode is built on a Chrome feature set that Safari does not expose, so a Safari web app on a plane shows nothing. Notifications work if Gmail is allowed to send them and the site permission is granted, but the unread count Gmail writes into the page title does not reliably become a Dock badge.
Chrome, install the page as an app
Chrome can install a page as a standalone application. The menu wording has moved between versions, so look under the three dot menu for the group that holds Cast, save and share, then the option to install the page as an app. What lands in ~/Applications/Chrome Apps.localized is a real bundle with a Dock icon and its own place in Cmd+Tab.
Two properties decide whether this is the right choice. It keeps Gmail offline mode, because the container is Chrome. And it silently inherits the Chrome profile that installed it, which is either exactly what was wanted or the start of a long confusion. Installing Gmail twice from two profiles produces two applications with the same name and the same icon, distinguishable only by where they sit in Finder. Rename them immediately, not next week.
A native client that speaks the Gmail API
There are macOS mail clients built specifically on Google's API rather than on IMAP, which means labels behave as labels, categories exist, and Gmail search runs on Google's side instead of being approximated locally. These are paid products, and they are separate applications that need their own sign in and their own trust decision.
The trade is native performance and a real Mac interface against being one step behind whatever Google changes next. A feature that appears in the Gmail web interface reaches a third party client whenever that client's developer implements it.
Apple Mail over IMAP
Apple Mail is already installed, handles several accounts, works offline, and puts everything in one window. Connecting a Google account uses OAuth, so no application specific password is needed on current versions.
What it cannot do is Gmail. Labels arrive as mailboxes, and a message with three labels appears three times. Categories, snooze, the priority markers and the filter rules are invisible, because IMAP has no concept for them. Search in Apple Mail is Apple Mail's search, not Gmail's, and anyone who relies on operators like has:attachment larger:10M will notice within a day. For a low volume secondary account this is fine. For a primary work inbox with a heavily built label system it usually is not.
The account index is the thing that bites
Anyone signed into more than one Google account has already met the numbered URLs. The first account signed in that session is mail.google.com/u/0, the second is /u/1, and so on. Every one of the container approaches above pins a URL, which means every one of them pins an index.
The index is assigned by sign in order, not by account. Sign out of everything, sign back in starting with the other account, and /u/0 now points somewhere else. The web app pinned to the Dock did not change, the meaning of the address underneath it did. This is how a message gets sent from the wrong address by someone who was certain the correct inbox was open.
Two ways to avoid it. Pin the address form that includes the account, mail.google.com/u/0/#inbox replaced by the variant carrying the full address, which Google honours and which does not shift when the order changes. Or give each account its own container with its own cookie store, so there is only ever one signed in account inside that window and the index question never arises.
The second is the more durable answer, and it is the reason browser profiles keep coming up in this search. A Chrome profile per Google account, with one installed Gmail app per profile, is stable. It also means two Dock icons that look identical, which brings back a smaller version of the original problem.
What each option actually costs
Beyond the feature table, three costs decide how the setup feels after a month.
Link handling. A link clicked inside a Safari or Chrome web app opens in the default browser, in whatever window happens to be frontmost. For a mail client that is most of what a mail client is used for, so the reader lands back in the general browser several times an hour, which is the exact context the web app was built to escape.
Notification identity. macOS attributes a notification to an application. Two Gmail web apps built from two accounts are two applications, so this works. Two Gmail tabs in one browser are one application, so it does not. The badge says Chrome, and finding out which account received the mail requires switching anyway.
Memory. Every container is a browser engine. Three Gmail web apps are three renderer processes, on top of whatever browser is already running. On a Mac with 8 GB of memory this is noticeable, and it is the usual reason someone builds the setup, likes it, and then quietly abandons it.
Making the window behave like a mail client
A container window is not automatically a good mail application. Four settings decide whether it feels like one after a week.
Turn on keyboard shortcuts. Gmail ships with them disabled. The setting is in the general tab, and once enabled the useful ones are c to compose, / to focus search, e to archive and g then i to return to the inbox. In a stripped window with no browser chrome, keyboard navigation is not a convenience. It is the only navigation there is.
Decide what Cmd+W does. In a web app window, Cmd+W closes the window and, in most containers, ends the session in memory. Anyone with a decade of muscle memory for closing tabs will close their mail client several times a day by accident. Reopening is fast, but a half written message may not survive it, so the habit is worth breaking deliberately.
Check where attachments go. Dragging a file into a Gmail compose window works in every container. Dragging one out to the Desktop downloads it to whatever the container's download directory is, which for an installed Chrome app is the Chrome profile's setting, not a per app setting. Two Gmail apps built from two profiles can write to two different folders, and neither of them announces which.
Set the download and print behaviour once. Printing from a web app window uses the standard macOS print dialog, and saving as PDF works normally. What does not work is the browser's reading view or any extension that was doing useful work in the tab version, because installed apps and Safari web apps run a restricted extension set compared to a full browser window.
The feature most people miss
Gmail supports several signatures, several send-as addresses and per address default behaviour, all configured under accounts in settings. Someone whose reason for wanting a separate window is that outgoing mail keeps going out from the wrong address may not need a second container at all. Setting a default send-as address on the account, and turning off the option that replies from the address the message was sent to, solves that specific failure in about a minute.
That is worth checking before building anything, because a container built to solve a settings problem still leaves the settings problem in place.
When one Gmail is really several
Most people who search for this do not have one web application to build. They have Gmail, plus a work calendar, plus one or two chat services, plus a project tool, and every one of them is a browser tab that would be better as a window. Solving Gmail alone leaves the other four unsolved, and building four more one off installed apps produces a Dock full of near identical icons with no shared arrangement between them.
That is the point at which the per site approach stops scaling and a browser designed around the idea becomes the simpler answer. A browser that keeps each web app in its own window handles the account index problem by giving each service its own session, and it handles the arrangement problem by making the whole set restorable rather than each icon independently launchable. Grouping several accounts and services into workspaces is a different structure from installing five separate applications, and the supported app list is the place to check whether the specific services in question are covered before rebuilding anything.
What to change first
If the goal is one Gmail account in one window, install it from Safari or Chrome today and pin the address that includes the account rather than the numbered one. If the goal is several accounts, or Gmail plus three other services that live in tabs, skip the per site installs and try a browser that gives every app its own window, such as SpaceDeck.
Frequently asked questions
Is there an official Gmail app for macOS?
No. Google ships Gmail as a website and as mobile applications, with no macOS build. Everything that looks like a Gmail desktop app on a Mac is either the website running in a container or a third party client connecting through IMAP or the Gmail API.
Does Gmail work offline in a Mac web app?
Only in a container built on Chrome, and only after offline access is turned on inside Gmail settings. A web app created through Safari's Add to Dock does not have offline access, because the underlying feature is not available there. Native clients that sync locally have their own offline behaviour and do not depend on the Gmail setting.
Why does the Gmail app open the wrong account?
The numbered URLs are assigned by sign in order rather than by account, so /u/0 can change meaning after signing out and back in. A pinned web app keeps the same address while the account behind it moves. Pinning the address form that names the account, or giving each account its own container with its own cookies, prevents it.
Can Apple Mail replace the Gmail web interface?
For a low volume account, usually yes. For an inbox built on labels, filters, categories and Gmail search operators, no, because IMAP has no way to represent those concepts. Messages with several labels appear several times, and search runs locally rather than on Google's side.
Do Gmail notifications work in a standalone web app window?
Yes, provided desktop notifications are enabled in Gmail settings and the site permission has been granted in the container. Because each web app is a separate application to macOS, notifications from two accounts are attributable to two different icons, which is not the case for two tabs in one browser.