Build cross-platform desktop apps with JavaScript, HTML, and CSS
DocsWeb Technologies
Electron embeds Chromium and Node.js to enable web developers to create desktop applications.
Cross Platform
Compatible with macOS, Windows, and Linux, Electron apps run on three platforms across all supported architectures.
Open Source
Electron is an open source project maintained by the OpenJS Foundation and an active community of contributors.
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'.](/web/20230329084610im_/https://www.electronjs.org/assets/marketing/menu.png)
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'.](/web/20230329084610im_/https://www.electronjs.org/assets/marketing/auto-updater.png)
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.](/web/20230329084610im_/https://www.electronjs.org/assets/marketing/installer.png)
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.](/web/20230329084610im_/https://www.electronjs.org/assets/marketing/app-store.png)
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.](/web/20230329084610im_/https://www.electronjs.org/assets/marketing/crash-reporting.png)
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.
![](https://webcf.waybackmachine.org/web/20230329084610im_/https://testing-library.com/img/octopus-64x64.png)
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
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 23.2.0
# Node 18.12.1
# Chromium 110.0.5481.192
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](/web/20230329084610im_/https://www.electronjs.org/assets/marketing/fiddle.png)
Apps users love, built with Electron
Thousands of organizations spanning all industries use Electron to build cross-platform software.