ScriptsMay 11, 2026·3 min read

Pake — Turn Any Website into a Lightweight Desktop App

Pake wraps any web page into a native desktop application using Rust and system webviews, producing binaries under 5 MB compared to Electron's 100 MB+. It supports macOS, Windows, and Linux with built-in shortcuts, immersive windows, and drag-and-drop packaging.

Introduction

Pake is a tool that converts any web page into a small, fast desktop application using Rust and the system's built-in webview rather than bundling a full browser engine. It produces binaries that are a fraction of the size of Electron-based apps, making distribution and startup significantly faster.

What Pake Does

  • Wraps any URL into a native desktop app for macOS, Windows, and Linux
  • Produces binaries under 5 MB by leveraging system webviews instead of Chromium
  • Provides a CLI and a no-code GUI for packaging
  • Supports custom icons, window sizes, and system tray integration
  • Enables keyboard shortcuts, user-agent overrides, and multi-window configurations

Architecture Overview

Pake is built on top of Tauri, using Rust for the native shell and WRY for cross-platform webview bindings. When you run the CLI, it generates a Tauri project with your specified URL, compiles it to a platform-specific binary, and bundles minimal native chrome around the webview. The result is a self-contained executable that renders the target site with native OS integration.

Self-Hosting & Configuration

  • Install globally via npm: npm install -g pake-cli
  • Requires Rust toolchain for building from source
  • Configure window dimensions, transparency, and fullscreen via CLI flags
  • Customize the app icon with --icon path/to/icon.png
  • Set user-agent strings and inject custom JS/CSS for tweaked behavior

Key Features

  • Produces apps 20x smaller than equivalent Electron wrappers
  • Zero JavaScript runtime overhead on the backend side
  • Built-in support for system tray, global shortcuts, and file drag-and-drop
  • GitHub Actions templates for automated cross-platform CI builds
  • Popular prebuilt apps available for Twitter, ChatGPT, YouTube Music, and more

Comparison with Similar Tools

  • Electron — Full Chromium bundled; much larger binaries but richer Node.js API access
  • Tauri — Pake's foundation; Tauri is a full framework while Pake is a one-command wrapper
  • Nativefier — Archived Electron-based wrapper; Pake is the modern, lighter successor
  • WebCatalog — Proprietary site-to-app tool; Pake is fully open source
  • Webapp Manager — Linux-only; Pake supports macOS, Windows, and Linux

FAQ

Q: Do I need to know Rust to use Pake? A: No. The CLI handles all Rust compilation automatically. You only need the Rust toolchain installed.

Q: Can I inject custom JavaScript into the wrapped app? A: Yes. Pake supports injecting custom JS and CSS files that run inside the webview on every page load.

Q: Does Pake support auto-updating the wrapped app? A: Pake does not include a built-in updater. You would need to redistribute new binaries or integrate Tauri's updater plugin manually.

Q: How does Pake compare to a PWA? A: PWAs rely on browser support and have limited OS integration. Pake apps behave like native executables with full system tray and shortcut support.

Sources

Discussion

Sign in to join the discussion.
No comments yet. Be the first to share your thoughts.

Related Assets