Deskifier for JavaScript apps

Turn your JavaScript web app into a desktop app

Svelte, Angular, Solid, Astro or no framework at all. If it runs in a browser, Deskifier can ship it as a signed desktop app for Mac, Windows and Linux, with native features on a typed JavaScript API.

Electron, Tauri or neither

Doing it yourself usually means picking between two frameworks. Electron bundles Chromium and gives you Node in the main process; you write the preload bridge, packaging, signing and update setup. Tauri produces much smaller apps by using each operating system’s webview, but its native side is Rust, and your app renders in WebView2 on Windows and WebKit on macOS and Linux, so you test in more than one engine.

Both are good tools, and if you need offline bundled code, native modules or the smallest possible download, one of them is the right call. Deskifier is for the other case: you already have a web app that works, and you want it on the desktop without adopting a framework. It runs your deployed app in bundled Chromium, whatever it was built with, and handles signing, updates and store builds for you.

What your web app gains

Framework-agnostic
Deskifier loads a URL, so it doesn’t care what produced the page. Nothing to port and no plugin for your framework to wait on.
Typed SDK
Native features live on window.deskifier as promise calls. Install @deskifier/sdk for TypeScript types and autocomplete.
Consistent rendering
Bundled Chromium on every OS, so the app you tested in Chrome is the app every user runs.
Tray, menus and shortcuts
Tray and menu bar icons, native context and dock menus, and global shortcuts that work while the app is in the background.
Signed installers
A notarised DMG on macOS and Azure Trusted Signing on Windows, handled for you.
Deploys go straight out
Ship web code and desktop users get it on their next load. The native shell updates itself in the background.

Web app to desktop app in three steps

  1. 1
    Point at your URL
    The production address your users already visit, on whatever host you use.
  2. 2
    Configure the shell
    Name, icon, window style, tray menu and deep link protocol, set in the Deskifier dashboard.
  3. 3
    Build installers
    Try a free dev build, then build signed installers for Mac, Windows and Linux or send builds to the app stores.

Frequently asked questions

No. Deskifier runs your deployed site in Chromium, so Svelte, Angular, Solid, Astro, htmx or plain JavaScript all work the same way.

window.deskifier only exists inside the desktop app. Check for it, or use optional chaining, before calling native features. The browser version is unaffected.

No. Your app works in the desktop app without any changes. The SDK is for when you want native features, and the @deskifier/sdk package only adds TypeScript types.

Around the size of any Chromium-based app, roughly 100MB, because the browser engine ships with it. If a few-megabyte download matters more than consistent rendering, Tauri is the better fit.

No. It loads your live app, so it needs a connection like the browser does.

Dev builds are free, no card required. You pay per platform when you ship to users.

Ship the web app you already have.

Paste your production URL and try a free dev build. No credit card required.

Create free account →