How to make a desktop app out of a website
To create a desktop app for a website on a Mac without writing code, open the site in Chrome and choose More, then Cast, save, and share, then Install page as app. In Safari on macOS Sonoma 14 or later, choose File, then Add to Dock. Either one gives the site its own window, a Dock icon, and a place in Cmd+Tab within a minute. Writing code only becomes necessary when the app has to be handed to other people as a download, or has to do something a browser page cannot, such as reading local files freely. That path runs through a framework like Electron or Tauri, plus Apple's signing and notarization, which costs 99 USD a year for the developer membership. The sections below walk through each route with the menu names checked on October 18, 2026, and show where each one stops being the right answer.
Decide which job this is
The same search covers jobs that have little in common. Three questions sort them.
Who will run the app? If it is one person on one Mac, nothing needs to be signed, packaged, or distributed. If colleagues or customers will download it, signing and updates become the larger part of the work, and that work repeats with every release.
Does it need anything a browser cannot do? Free access to the file system, local hardware, a custom URL scheme, or offline work beyond what the site already supports. If none of these is on the list, a browser window already does everything required.
Who controls the site? Wrapping a site someone else runs means its contents can change without warning, so a thin wrapper that loads the live page is the safe design. Wrapping a site under the same ownership makes deeper integration reasonable, because the page and the shell can change together.
Most people who search this phrase are one person on one Mac, wanting a site that keeps getting lost among tabs to behave like an app. For them the first two routes below are free and take a minute. The later routes matter for teams, for products, and for anyone who wants more control over the window than a browser menu provides.
Route one: install the page from Chrome or Edge
Chrome's help page Use web apps gives the steps for a computer.
- Open Chrome and go to the website.
- At the top right, select More, then Cast, save, and share, then Install page as app.
- On some sites an Install icon also appears at the right of the address bar.
- Follow the on screen prompt to finish.
The result opens in a window without a tab strip, appears in the Dock while running, and can be kept there through the Dock icon's Options menu. Settings for the installed app are under More, then App info, then Settings, inside the app window. The same page notes that when a web app wants to change its name or icon, Chrome asks first, and recommends uninstalling if a change looks suspicious.
Microsoft Edge offers the same thing. Its support article Install, manage, or uninstall apps in Microsoft Edge gives the path Settings and more, then More tools, then Apps, then Install this site as an app, and lists installed apps on the edge://apps page.
What this route does well: it costs nothing, needs no maintenance, and inherits every security update of the browser. Where it stops: an installed app shares the browser profile that created it. Two accounts on the same service need two Chrome profiles, and each app opens with whatever session its profile holds. Extensions also follow the profile rather than the individual app.
Route two: Safari's Add to Dock
Apple's page Use Safari web apps on Mac describes the feature that arrived with macOS Sonoma 14.
- Open the page in Safari.
- From the menu bar choose File, then Add to Dock, or use the Share button and choose Add to Dock.
- Type a name and click Add.
The web app is saved in the Applications folder inside the home folder and can be opened from the Dock or Spotlight. Apple states the key difference from Chrome's approach directly.
A web app functions independently of Safari. It shares no browsing history, cookies, website data, or settings with Safari. Source: support.apple.com
That is why a Safari web app asks for a sign in on first launch, and why two web apps for the same service can hold two different accounts. Settings sit under the app's name in the menu bar, then Settings: the app name, the URL, the icon, whether navigation controls show, and whether the title bar takes the site's color. A Privacy tab clears the site's data, and an Extensions tab turns installed Safari extensions on or off for that web app.
Notifications work with one detail Apple calls out: answer the site's notification prompt inside the web app, not in Safari. The web app then appears by name in System Settings under Notifications, and its Dock icon can show a red badge for unread notifications.
Where this route stops: it needs macOS Sonoma 14 or later, it runs on Safari's WebKit engine only, and it is limited to Safari extensions. A site that renders or behaves better in a Chromium browser, or a workflow that depends on a Chrome Web Store extension, needs a different route.
Route three: a site to app tool on an installed browser
Between the browser menus and writing code there is a class of Mac utilities that build a standalone app bundle around one URL, using a Chromium browser already installed on the Mac rather than shipping a second copy of one. The app gets its own icon, its own window, and usually its own browser profile, without any code or signing.
What this adds over the two browser routes is control.
Engine choice. The tool described on the features page builds apps on Chrome, Chrome Canary, Chromium, Brave, Microsoft Edge, Vivaldi, or Opera, so a site can run on the engine it works best in.
Profile per app. Each app gets its own browser profile, with cookies, sign in sessions, history, and cache kept apart. A work Google account and a personal one can run side by side as two apps without switching profiles in Chrome.
Extensions per app. Chrome Web Store extensions can be turned on for one app and off for another, so a password manager can live in every app while a translation extension lives only in one.
Window options. Tab bar on or off, popup handling, tab restore, and a quit confirmation for Cmd+Q, set per app.
The guide shows the path for a first app: Create New in the sidebar, pick a service or choose Custom and enter a URL and a name, choose a browser engine, then Create App. The finished app lands in a folder inside Applications. For common services, the supported services list already carries the URL, icon, and name, so nothing needs typing.
The trade off against route one is that this is another piece of software on the Mac. The trade off against route four is that the result is meant for the person who made it, not for distribution to customers.
Route four: build a real desktop app with code
When the app is a product to hand out, or needs native capabilities, the work moves to a framework.
Electron. The Electron prerequisites page describes it as a framework for desktop apps in JavaScript, HTML, and CSS that embeds Chromium and Node.js into a single binary, running on Windows, macOS, and Linux from one codebase. Building one requires Node.js and npm installed locally, though end users do not need Node.js because the runtime ships inside the app. The smallest version of a website wrapper is a window that loads a remote URL, but a production app also needs navigation limits for untrusted origins, an update mechanism, and packaging for each platform.
Tauri based wrappers. The open source project Pake wraps a URL using Tauri, which renders with the operating system's own web view instead of bundling Chromium. Its README states an installer typically under 10 MB on disk, and its build requires Rust 1.85 or later and Node 22 or later, with a command line interface offered as the easier path for newcomers.
Older command line tools. Nativefier, once the standard one line command for this job, was archived by its owner on September 29, 2023, and its README marks it as unmaintained. Guides that still recommend it predate that.
Hosted build services. ToDesktop offers two products. ToDesktop for Electron handles build, signing, and updates for teams that already write Electron code, and its listed plans start at 100 USD a month for the Essential plan, with a 7 day free trial on all plans. ToDesktop Builder is its no code product that turns an existing web app into a desktop app through a visual interface, with installers, auto updates, signing, and notarization handled.
Shipping to other Macs: signing and notarization
A Mac app downloaded from the internet and opened on another Mac passes through Gatekeeper. For it to open without warnings, it must be signed with a Developer ID certificate and notarized by Apple, as Apple describes in Notarizing macOS software before distribution.
A Developer ID certificate comes with the Apple Developer Program. Apple's enrollment page lists the fee as 99 USD per membership year, with prices in local currency during enrollment and a fee waiver available to some nonprofits, educational institutions, and government entities.
That cost and the release process behind it are the dividing line in this whole topic. Routes one, two, and three produce an app for the person who made it, so none of this applies. Route four produces software for other people, so every release has to be built, signed, notarized, and delivered through an updater. Hosted services exist mainly to take that recurring work away.
The four routes side by side
| Route | Code needed | Cost | Separate logins per app | Engine | Can be handed to others |
|---|---|---|---|---|---|
| Chrome or Edge install | No | Free | Only with separate browser profiles | Chromium | No |
| Safari Add to Dock | No | Free, needs macOS Sonoma 14 | Yes | WebKit | No |
| Site to app tool | No | Varies by tool | Yes, per app | Choice of installed Chromium browsers | No |
| Electron or Tauri build | Yes | Developer Program 99 USD a year to distribute | Up to the developer | Bundled Chromium or system web view | Yes |
A practical way to read the table: start at the top and stop at the first row that does the job. Someone who needs one site out of the tabs stops at row one or two. Someone running several accounts, or depending on Chrome extensions, stops at row three. Only a product meant for other people's Macs needs row four.
What to change first
Pick the one site that gets lost among tabs most often and install it from Chrome or Safari today. If it needs a second account, a specific engine, or its own extensions, build it as a standalone app with Kagemusha, which is free for up to three apps.
Frequently asked questions
Can a website become a Mac app without any coding?
Yes. Chrome's Install page as app and Safari's Add to Dock both turn a page into an app with its own window and Dock icon in about a minute, and both are free. Code is only needed when the app must be distributed to other people or needs capabilities a browser page does not have.
Does an installed web app work offline?
Only as far as the site itself supports it. Chrome's help page notes that some web apps may not work completely without an internet connection. A wrapper around a site that needs a server will show an error offline, whichever route created it.
Why does a Safari web app ask for a login again?
Apple states that a Safari web app shares no browsing history, cookies, or website data with Safari. It starts with an empty session, so the first launch needs a fresh sign in. After that, the web app keeps its own session separately from Safari.
Is Nativefier still a good choice?
Its GitHub repository was archived on September 29, 2023 and its README says the project is unmaintained. It still exists, but it no longer receives updates, so newer projects such as Tauri based wrappers or Electron itself are the maintained options for a code based route.
What does it cost to distribute a website wrapper to customers on Mac?
To open without Gatekeeper warnings, the app needs a Developer ID signature and Apple notarization, which come with the Apple Developer Program at 99 USD per membership year. Hosted build services charge on top of that if used, for example ToDesktop for Electron lists plans from 100 USD a month.