Electron

Build cross-platform desktop apps with JavaScript, HTML, and CSS on Chromium and Node.js

Framework
npm
v45.0.0
123,511 stars
MIT License

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum. How we score it →
97 /100 Excellent
Development Activity 100
Maintenance 96
Community 92
Maturity 60
Momentum 40

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation. How we score it →
88 /100 Excellent
Architecture 95
Code Quality 92
Innovation 88
Learning Curve 78

Electron is the framework that lets teams ship native-feeling desktop applications for macOS, Windows, and Linux using ordinary web technology. It fuses a Chromium rendering engine with a full Node.js runtime into a single process model split between a privileged main process and one or more sandboxed renderer processes, giving developers direct access to OS-level APIs (menus, notifications, filesystem, auto-updates, native dialogs) from the same JavaScript, HTML, and CSS skills used to build for the browser.

Originally built at GitHub to power Atom, Electron now underpins some of the most widely used desktop software in the industry, including Visual Studio Code, Slack, and Discord. Its two-process architecture, IPC bridge, and context-isolation model are the reference implementation most competing desktop frameworks are still measured against.

What You Get

  • A dual-process architecture: a privileged Node.js main process that owns app lifecycle and OS access, plus sandboxed Chromium renderer processes for UI
  • A typed, versioned IPC layer (ipcMain/ipcRenderer, contextBridge) for safely exposing native capabilities to untrusted web content
  • Native OS integration APIs out of the box: BrowserWindow, Menu, Tray, dialog, notifications, global shortcuts, auto-updater, and crash reporting
  • Cross-platform packaging targets for macOS, Windows, and Linux from a single codebase, with code-signing and notarization hooks
  • Security primitives (context isolation, sandboxing, permission handlers) purpose-built for embedding remote or untrusted web content safely
  • A predictable 8-week major release cadence tracking upstream Chromium and Node.js versions, with three actively supported major versions at any time

Common Use Cases

  • Shipping a cross-platform desktop client for an existing web application (e.g. Slack, Discord-style companion apps)
  • Building developer tools and IDEs that need native filesystem, terminal, and extension access (e.g. VS Code, Postman)
  • Wrapping internal admin or ops tooling into a distributable desktop app with auto-update instead of relying on a hosted web dashboard
  • Creating creative or productivity software that mixes native OS chrome (menus, trays, multi-window) with rich HTML/CSS UI

Under The Hood

Architecture: Electron’s process model splits execution into a single privileged main process (lib/browser) that owns the app lifecycle, window management, and native OS bindings, and one or more sandboxed renderer processes (lib/renderer, lib/sandboxed_renderer) that host Chromium and untrusted web content; lib/common and lib/preload_realm supply shared code and the context-bridge boundary between the two, while lib/utility and lib/worker back auxiliary service and worker processes. Communication crosses process boundaries exclusively through the IPC layer defined in lib/browser/ipc-main-impl.ts and lib/common/ipc-messages.ts, and native functionality is exposed to JavaScript via C++ bindings in shell/ compiled through BUILD.gn, making the repo simultaneously a large C++ Chromium-embedding project and a TypeScript API surface.

Tech Stack: The bulk of the codebase by byte count is C++ (Chromium/V8 integration) and TypeScript (the public electron API surface in lib/browser/api and lib/renderer/api), with the npm/ directory holding the thin published package (index.js, cli.js, install.js) that downloads prebuilt native binaries rather than shipping source. Builds are driven by GN/Ninja (BUILD.gn, filenames.gni) alongside a large Python and Node.js script suite in script/ for patch application, filename generation, and CI orchestration; TypeScript compiles under strict mode per tsconfig.json with path-mapped internal modules (@electron/internal/*).

Code Quality: The spec/ directory contains roughly 85 dedicated spec files (api-app-spec.ts, api-browser-window-spec.ts, etc.) covering nearly every public API individually, run against real Chromium/Node binaries rather than mocks, which is unusually thorough for a project of this scope. Linting is enforced via oxlint/oxfmt plus a custom script/lint.js covering JS, docs, and Chromium-roller consistency, and noUnusedLocals/strict TypeScript settings are enabled project-wide; CONTRIBUTING.md documents an active, structured issue-triage and PR review process.

API Design: The public API (documented per-module under docs/api/, 81 reference pages) follows a consistent Node.js-style pattern of EventEmitter-based objects (app, BrowserWindow, ipcMain) with predictable getter/setter and on/once conventions, and the contextBridge/ipcRenderer pair gives a deliberately narrow, explicit mechanism for crossing the security boundary rather than ambient globals. Onboarding has real friction, though: getting a first window on screen requires understanding the two-process split, IPC, and preload scripts before writing any UI code, which is reflected in the extensive tutorial section under docs/tutorial/.

Used by 69 apps in this directory

JavaScript
94%
AGPL 3.0

MyApi

AI Agents

23

A privacy-first personal API gateway for AI agents — connect your services once, issue scoped tokens to agents like OpenClaw, Hermes, or Claude Code, and keep a full audit trail instead of scattering raw credentials across .env files.

View details
37
Repo Health
64
Technical
73
Dependency
Built with
JavaScript 94%
Updated 3 weeks ago
TypeScript
92%
Other

n8n

Automation · No Code Platforms

208,437

Code when you need it, UI when you don't — the workflow automation platform built for technical teams who refuse to choose.

View details
95
Repo Health
87
Technical
62
Dependency
Built with
TypeScript 92%
Updated 1 weeks ago
TypeScript
97%
Apache 2.0

Next AI Draw.io

AI Design Tools · Design Tools · Developer Tools

36,393

Turn natural language into professional draw.io diagrams with AI, cloud icons, and an MCP server for your IDE.

View details
88
Repo Health
80
Technical
68
Dependency
Built with
TypeScript 97%
Updated 1 weeks ago
TypeScript
85%
GPL 3.0

Notesnook

File Storage · Note Taking · Security

14,822

End-to-end encrypted, open-source note-taking where your data stays yours — even from the server.

View details
91
Repo Health
84
Technical
60
Dependency
Built with
TypeScript 85%
JavaScript 12%
Updated 6 days ago
TypeScript
95%
MIT

OmniRoute

AI Agents

80,476

A free, open-source AI gateway connecting Claude Code, Codex, Cursor, Cline, and Copilot to 237 AI providers (90+ free) through one endpoint, with automatic fallback and token-compression to stretch free-tier limits further.

View details
87
Repo Health
70
Technical
70
Dependency
Built with
TypeScript 95%
Updated 6 days ago
TypeScript
72%
Apache 2.0

open-design

Design Tools

103,625

Local-first, open-source Claude Design alternative that turns your existing coding agent CLI into a full agentic design studio — with 259+ skills, 142+ design systems, and sandboxed artifact delivery across web, desktop, and mobile surfaces.

View details
85
Repo Health
86
Technical
72
Dependency
Built with
TypeScript 72%
HTML 21%
Updated 6 days ago
TypeScript
97%
GPL 3.0

OpenKnowledge

Code Editors · Knowledge Management · Note Taking

4,674

A beautiful, local-first markdown IDE that turns any git repo into a live collaborative workspace for humans and AI coding agents like Claude, Codex, and OpenCode.

View details
80
Repo Health
89
Technical
64
Dependency
Built with
TypeScript 97%
Updated 6 days ago
TypeScript
81%
MIT

OpenCode

AI Code Assistants

220,711

A fully open-source AI coding agent built for the terminal, with a TUI, desktop app, web client, plugin system, and SDK — one of the most-starred AI coding agents on GitHub.

View details
89
Repo Health
76
Technical
66
Dependency
Built with
TypeScript 81%
MDX 16%
Updated 6 days ago
TypeScript
93%
MIT

OpenReel Video

Video Editors

5,442

A browser-based, GPU-accelerated video editor with multi-track timelines, color grading, and 4K export — no uploads, no installs, no watermarks.

View details
72
Repo Health
80
Technical
71
Dependency
Built with
TypeScript 93%
Updated 1 weeks ago

Join founders buildingwith open source

Opinionated takes, migration guides, cost-saving tips, and insights from the open source ecosystem.

Subscribe on Substack
Join 750+ subscribers