Turn any website into a native macOS desktop app.
Pure Swift + WKWebView wrapper for macOS 15+. No Electron. No Chromium. No bloat. Wrap your favorite web apps — chat, dashboards, AI assistants, SaaS tools — into standalone desktop applications with their own Dock icon, window, and keyboard shortcuts.
Tired of losing important web apps among 50 browser tabs? SiteBox gives each one its own window, Dock icon, and native macOS experience — all while using 10× less memory than Electron wrappers.
- 💬 Chat apps — Feishu, Slack, Discord, Teams
- 📊 Dashboards — Grafana, Datadog, internal analytics
- 🛠 SaaS tools — Notion, Linear, Figma, Jira
- 🤖 AI assistants — ChatGPT, Claude, Copilot
- 🌐 Any website that deserves its own window
| Category | Feature |
|---|---|
| WebView | Native WKWebView, persistent cookies/session, SPA support |
| Image Viewer | Click any image → floating window, draggable, zoomable, savable |
| Dark Mode | 3 modes: follow system / light / dark. CSS injection into website |
| Child Windows | window.open() → native macOS window, shared cookies/session |
| Downloads | Progress bar, notification, cancel, save to Downloads |
| Domain Routing | Same domain in-app; external → default browser |
| Memory | ~50MB typical, auto-clean every 5 min, memory pressure aware |
| Notifications | JS Notification API → macOS Notification Center |
| Find in Page | ⌘F system-native find bar |
| Screenshot | Full page → PNG |
| Float on Top | Keep window above all apps |
| Custom CSS | Inject your own styles into any website |
| Opacity | Adjustable window transparency 30%–100% |
| Toolbar | Back/forward, reload, address bar with copy, zoom buttons |
| Status Bar Icon | Right-click menu: show/hide, find, float, screenshot, downloads, settings, cache, quit |
| Keyboard | ⌘[/] back/forward, ⌘R reload, ⌘+/−/0 zoom, ⌘F find, ⌘, settings, ⌥⌘I dev tools, ⇧⌘D downloads |
| Customization | App name, window size (presets + custom), theme, toolbar toggle, custom icon |
| SiteBox | Nativefier | Electron | |
|---|---|---|---|
| Engine | WKWebView (native) | Chromium (bundled) | Chromium (bundled) |
| Memory | ~50 MB | ~200 MB | ~250 MB |
| App Size | ~5 MB | ~100 MB | ~150 MB |
| Startup | Instant | Slow | Slow |
| macOS Native | ✅ | ❌ | ❌ |
| Dark Mode Injection | ✅ | ❌ | ❌ |
| Image Viewer | ✅ | ❌ | ❌ |
| Web Notifications | ✅ | ❌ | ❌ |
| Float on Top | ✅ | ❌ | ❌ |
| Custom CSS | ✅ | ❌ | ❌ |
Get the DMG from Releases, open, drag to /Applications.
Requires macOS 15+.
git clone https://github.com/ijson-projects/sitebox.git
cd SiteBox
./package.sh # build .app
./create_dmg.sh # create .dmg- Launch SiteBox
- Click ⚙️ or
⌘,→ Settings - Enter URL (e.g.
https://www.ijson.com) - Give it a name
- Save → done
Drop your own icons into custom_icons/ before building:
AppIcon.png— 1024×1024StatusBarIcon.png— 1024×1024 (template, auto-adapts to light/dark)
Q: Does it support tabs?
No — SiteBox is a single-site browser (SSB). Open multiple instances for multiple sites.
Q: Works with sites that need login?
Yes. Cookies/sessions persist and are shared across child windows.
Q: Can I submit to Mac App Store?
Not recommended — Apple rejects pure web wrappers.
Proprietary. See LICENSE.
