Best tools to turn a website into a desktop app
In 2026, turn a website into a desktop app on a Mac with Safari's File › Add to Dock on macOS Sonoma 14 or later. The best way on Windows with no extra program is Edge's Settings and more … › More tools › Apps › Install this site as an app, and Chrome has that command on Windows, Mac and Linux. WebCatalog, Unite, Coherence X and the Pake app cover the window the browser will not configure. Pake CLI, Tauri and Electron cover a build you can repeat, and Nativefier has been archived since 29 September 2023.
Which tool fits the computer you have
Use a browser row unless you need a starting size, another engine, an extension, or a command you can run again. The Edge row covers Windows, the system this post follows for Edge.
| Tool | Platforms | Price model | Engine | Needs a toolchain |
|---|---|---|---|---|
| Safari web app | macOS Sonoma 14 or later | Included with macOS | Safari | No |
| Chrome, install as app | Windows, Mac, Linux | Included with Chrome | Chrome | No |
| Edge, install as app | Windows (as covered here) | Included with Edge | Microsoft Edge | No |
| WebCatalog Desktop | macOS 13+, Windows 10+, Linux (experimental) | Free for 2 apps; Pro $5/month, billed annually | Chromium, through Electron | No |
| Unite Pro | macOS 15 or later | Buy once, from $39.99 | BZG's browser on WebKit 2 | No |
| Coherence X | macOS 15 or later | Buy once, from $39.99 | A Chromium browser on the Mac | No |
| Pake app | macOS 14+, Windows 10 version 2004+, Arch-based Linux | Free allowance, then a license | System web view | No |
| Pake CLI | macOS, Windows, Linux | Free, open source | System web view, via Tauri | Yes |
| Tauri, by hand | Windows 10+, macOS 10.15+, Linux, plus mobile | MIT, or MIT/Apache 2.0 where applicable | System web view | Yes |
| Electron, by hand | macOS, Windows, Linux | Open source (OpenJS Foundation) | Bundled Chromium and Node.js | Yes |
| Nativefier | macOS 10.13+, Windows, Linux | MIT, archived | Electron (Chromium) | Yes |
How the window is drawn
Each tool is a window around the same address. The engine decides updates, extensions and sign-in.
Safari's web app draws the page the way Safari does. Apple says it shares no history, cookies, website data or settings with Safari, so a tab you already signed in to does not carry over. Chrome's command stays inside Chrome, and the app is removed from its own More menu (Google). An Edge app uses Edge's engine, settings and extensions, syncs with a Microsoft account signed in to Edge, and stops working if Edge is uninstalled (Microsoft).
WebCatalog Desktop is built on Chromium through Electron, and it updates itself and the apps you create with it (WebCatalog). Unite runs a browser BZG built for site-specific apps, powered by Apple's open source WebKit 2, and does not support third-party extensions. Coherence runs a Chromium browser installed on the Mac. BZG's comparison names Chrome, Canary, Chromium, Ungoogled Chromium, Opera, Edge, Vivaldi, Helium and Brave.
Pake's desktop app and CLI share one runtime: WKWebView on macOS, the Edge WebView2 Runtime on Windows, and WebKitGTK on Linux. The CLI compiles Tauri, which documents those three. macOS updates WebKit with the system, WebView2 updates itself, and Windows 11 already includes that runtime. A page can differ from Chrome, and a provider that blocks embedded web views still blocks this one. Electron embeds Chromium and Node.js, so those fixes arrive only in a build you ship. The size follows the engine: on 7 November 2026 the empty Electron 45.2.3 runtime zip was 121 MB for Mac arm64 and 158 MB for Windows x64, and the ChatGPT app in Pake's V3.18.0 release was a 9.9 MB .dmg and a 3.7 MB .msi.
On a Mac, start with Add to Dock
In Safari, choose File › Add to Dock, or the Share button and the same command, type a name and click Add. The app lands in the Applications folder of your home folder, and you sign in there because it does not share Safari's cookies. Remove it from Finder with Go › Home, then Applications, then the Trash. Chrome on that Mac is More › Cast, save, and share › Install page as app.... Turn a website into a Mac app continues into the Pake window.
The best way on Windows
In Edge, a progressive web app may offer to install itself. Any other site uses Settings and more … › More tools › Apps › Install this site as an app (Microsoft). It is listed at edge://apps, where Open starts the window and Details has Pin to taskbar, Pin to Start, Create Desktop shortcut, Auto-start on device login and Uninstall. Chrome uses the same Install page as app... menu as on a Mac. Removing Edge stops these apps until Edge is installed again. Make a Windows app from a website follows the clicks.
WebCatalog, Unite and Coherence X
WebCatalog's requirements name Apple silicon or Intel, Windows on x64 or ARM64, and experimental Linux. The pricing page gives Basic away with no credit card: 2 desktop apps, 2 profiles, 1 space, cloud sync. Pro is $5 per month billed annually, plus local taxes, with a 7-day trial and those caps removed. It suits accounts you want synced on Mac and Windows.
Unite Pro starts at $39.99, buy once, with optional paid major upgrades, and adds menu bar and sidebar modes, user scripts, styles and an ad blocker, without other browsers' extensions. Coherence X is also buy once, from $39.99, and it is the one that runs inside your Chromium browser so extensions come along. BZG's comparison page lists Setapp at $9.99 a month with Coherence X6 and Unite 6. The longer split is WebCatalog, Unite, Coherence X and Pake.
Where Pake fits, and where it is the wrong choice
The Pake app needs no Node.js, Rust, Xcode or Visual Studio. It runs on macOS 14 or later, Windows 10 version 2004 or later, and Arch-based Linux such as Omarchy (install). On Create, paste an address into Paste a web address or search the apps below to start, or pick one of the 30 gallery sites. Size on Mac and Window size on Windows default to 1200 by 780. Click Create App. Create an app covers Hide title bar on Mac and Always on top. New apps use a free allowance or a license. Opening, updating and removing them does not, and they keep running after Pake is removed (FAQ).
The CLI is that runtime as a command, free and open source:
pnpm install -g pake-cli
pake https://excalidraw.com --name Excalidraw
npm install -g pake-cli works too. You need Node.js 20.9 or later, Rust 1.85 or later, Xcode Command Line Tools on a Mac, Visual Studio Build Tools with the C++ workload on Windows, and WebKitGTK development packages on Linux (getting started). You get a .dmg, an .msi, or .deb plus AppImage on Debian and Ubuntu, and .rpm plus AppImage on Fedora. The first build takes several minutes. --install on a Mac copies into /Applications. pake ./dist --name MyTool packages a folder with index.html at its root. An error that mentions edition2024 means Rust is older than 1.85.0.
Pake is the wrong choice when the browser window is enough, when the Mac app must load Chrome extensions, or when you want WebCatalog's sync with several accounts in one window. Add Another Account in My Apps makes a second app, and a .pake file is how you carry settings to another computer. A vendor's own native app is the better fit when you need a feature the website does not have.
Building it with Tauri or Electron
Tauri's README licenses the code as MIT, or MIT/Apache 2.0 where applicable, and lists Windows 10 and later, macOS 10.15 and later, Linux with webkit2gtk 4.1 for v2, plus Android and iOS. The prerequisites are Rust plus the same platform tools the CLI uses, and Node.js only if the frontend is JavaScript. Pake CLI already builds the single-URL case. You write Tauri for Rust beside that window, and Electron when you need bundled Chromium and Node.js. npm init electron-app@latest my-app is the usual start. There is no field for pasting an address.
Nativefier stays archived
The README says at the top that Nativefier is unmaintained. The owner archived it on 29 September 2023, and the announcement points personal use to a browser shortcut, which the browser keeps patched, and custom distribution to Electron. Node.js 16.9 or later and npm 7.10 or later still install it, and the Electron copy inside an old app stays where it was. Moving a Nativefier web app to Pake is a new build. The sign-in does not come with it.
When it fails, and how to tell it worked
Open the page you came for, quit, and open the app again. The account should still be there, and a link off the site should open where you expected. A Safari web app will not see the Safari login. Sign in inside it. If Edge apps stop because Edge was removed, install Edge again. Chrome removes one from More › Uninstall.
Pake's docs say Google and some other providers block sign-in inside an embedded web view, even with the new-window options on. On Windows, Open new windows in the app keeps some sign-in pop-ups in the app. WebCatalog calls its Linux support experimental and limited, so if it fails on your distribution, use Chrome or Pake CLI. Google says web apps work offline, though some may not work completely without an internet connection.
FAQ
Do Chrome extensions work in every one of these?
Coherence X imports them from the Chromium browser it runs on. Unite does not support third-party extensions. A Pake app has no extension switch. Edge apps use Edge's extensions.
Where does the Pake app install what it builds?
On a Mac, /Applications, or ~/Applications if that folder is not writable. On Windows, %LOCALAPPDATA%\Programs\Pake Apps\<name>. On Linux, ~/.local/share/Pake/apps.
Do Safari extensions show up in Add to Dock?
Apple's web app has an Extensions tab in its settings, where you turn Safari extensions on or off for that app only. A Pake window has no extension list.
What if Windows says the WebView2 Runtime is missing?
The Windows app shows Apps created with Pake need the Microsoft Edge WebView2 Runtime and Get WebView2. Windows 11 already includes the runtime.
