Skip to main content

Build cross-platform desktop apps with JavaScript, HTML, and CSS

Docs
web-tech

Web Technologies

Electron embeds Chromium and Node.js to enable web developers to create desktop applications.

cross-platform

Cross Platform

Compatible with macOS, Windows, and Linux, Electron apps run on three platforms across all supported architectures.

open-source

Open Source

Electron is an open source project maintained by the OpenJS Foundation and an active community of contributors.

Trusted by best-in-class apps

Popular consumer and rock-solid enterprise apps use Electron to power their desktop experiences.

1Password logo
OpenAI ChatGPT logo
Slack logo
Anthropic Claude logo
Visual Studio Code logo
Figma logo
1Password logo
OpenAI ChatGPT logo
Slack logo
Anthropic Claude logo
Visual Studio Code logo
Figma logo

Desktop development made easy

Electron takes care of the hard parts so you can focus on the core of your application.

macOS operating system menu for VSCode.
              'Code' menu item is selected, and its submenu has items 'About Visual Studio Code',
              'Check for Updates...', 'Preferences', 'Services', 'Hide Visual Studio Code',
              'Hide Others', 'Show All', 'Quit Visual Studio Code'.

Native graphical user interfaces

Interact with your operating system's interfaces with Electron's main process APIs. Customize your application window appearance, control application menus, or alert users through dialogs or notifications.

Dialog for Electron Fiddle's auto-update. The user is prompted to update to v0.27.3.
              'A new version has been downloaded. Restart the application to apply the updates.'
              There are two buttons underneath: 'Later' and 'Restart'.

Automatic software updates

Send out software updates to your macOS and Windows users whenever you release a new version with Electron's autoUpdater module, powered by Squirrel.

Window on macOS for the WhatsApp Installer (DMG).
              Two icons are present: 'WhatsApp' and 'Applications'. The user is prompted to
              drag the WhatsApp app icon into the Applications folder.

Application installers

Use community-supported tooling to generate platform-specific tooling like Apple Disk Image (.dmg) on macOS, Windows Installer (.msi) on Windows, or RPM Package Manager (.rpm) on Linux.

Mac App Store window open to the Rocket.Chat download page.

App store distribution

Distribute your application to more users. Electron has first-class support for the Mac App Store (macOS), the Microsoft Store (Windows), or the Snap Store (Linux).

Screenshot of Sentry crash reporting (https://sentry.io). Shows the error message
              ('BrowserWindow Unresponsive'), user breadcrumbs, and user information.

Crash reporting

Automatically collect JavaScript and native crash data from your users with the crashReporter module. Use a third-party service to collect this data or set up your own on-premise Crashpad server.

Use the tools you love

With the power of modern Chromium, Electron gives you an unopinionated blank slate to build your app. Choose to integrate your favourite libraries and frameworks from the front-end ecosystem, or carve your own path with bespoke HTML code.

React
Vue.js
Next.js
Tailwind CSS
Bootstrap
Three.js
Angular
TypeScript
webpack
Playwright
Testing Library
Sass
New!

Electron Forge

Electron Forge is a batteries-included toolkit for building and publishing Electron apps. Get your Electron app started the right way with first-class support for JavaScript bundling and an extensible module ecosystem.

$ npm init electron-app@latest my-app
✔ Locating custom template: "base"
✔ Initializing directory
✔ Preparing template
✔ Initializing template
✔ Installing template dependencies
Direct download

Installation

If you want to figure things out for yourself, you can install the Electron package directly from the npm registry.

For a production-ready experience, install the latest stable version. If you want something a bit more experimental, try the prerelease or nightly channels.

  • Stable
  • Prerelease
  • Nightly
$ npm install --save-dev electron@latest
# Electron 33.3.0
# Node 20.18.1
# Chromium 130.0.6723.152
Experiment with the API

Electron Fiddle

Electron Fiddle lets you create and play with small Electron experiments. It greets you with a quick-start template after opening — change a few things, choose the version of Electron you want to run it with, and play around.

Save your Fiddle either as a GitHub Gist or to a local folder. Once pushed to GitHub, anyone can quickly try your Fiddle out by just entering it in the address bar.

Screenshot of Electron Fiddle's main window

Apps users love, built with Electron

Thousands of organizations spanning all industries use Electron to build cross-platform software.