Electrobun Documentation

Everything you need to build ultra fast, tiny, cross-platform desktop applications with TypeScript.

Quick Start

$ bunx electrobun init
import { BrowserWindow } from "electrobun/bun";

const win = new BrowserWindow({
  title: "My App",
  url: "views://mainview/index.html",
});

Electrobun

Ultra fast and tiny desktop app framework

Build cross-platform desktop applications with TypeScript that are incredibly small and blazingly fast. Electrobun combines the power of native bindings with Bun's runtime for unprecedented performance.

Native bindings written in C++, ObjC, and Zig
Bun as backend runtime and bundler
System's native webview as renderer, CEF Optional
Custom bsdiff-based update mechanism
Cross-platform: macOS, Windows, Linux
14MB
Bundle Size
14KB
Update Size
<50ms
Startup Time
100%
Native Feel

Documentation

Getting Started

Advanced Guides

Bun APIs

  • Bun API
    Main process API and lifecycle management
  • BrowserWindow
    Native window management and controls
  • BrowserView
    Create and manage webview windows
  • WebGPU
    Native GPU windows and WebGPU integrations
  • Utils
    File system and OS utility functions
  • Context Menu
    Native context menus
  • Application Menu
    Native application menu bars
  • Paths
    Global paths for resources and views
  • Tray
    System tray implementation
  • Updater
    Built-in app update mechanism
  • Events
    Event system and handling

Browser APIs

CLI & Configuration

Community & Support

Join our growing community of developers building the future of desktop applications.

Ready to Get Started?

Follow our Getting Started guide to create your first Electrobun app.