Awesome Electron
Useful resources for creating apps with Electron
Electron is an open-source framework for creating desktop apps using web technologies. It combines the Chromium rendering engine and the Node.js runtime.
You can now discuss and ask Electron-related questions right in this repo.
My open source work is supported by the community
Special thanks to:
Stop struggling with scattered API keys, hacking together home-brewed tools,
and avoiding access controls. Keep your team and servers in sync with Doppler.
and avoiding access controls. Keep your team and servers in sync with Doppler.
It’s 100% JavaScript, fully customizable, and developer-first.
Contents
Apps
Made with Electron.
Open Source
Featured
- Beaker - Browser with peer-to-peer web protocols.
- Hyper - Terminal.
- WebTorrent - Streaming torrent client.
- Kap - Screen recorder with GIF support.
- Min - Minimal web browser.
- SpaceRadar - Interactive disk space and memory visualization.
- Atom - Code editor.
- Visual Studio Code - Cross-platform IDE.
- Wexond - Web browser with material UI and extensions API.
Other
- Git-it - Teaches you Git and GitHub.
- Caprine - Unofficial Facebook Messenger app.
- Simplenote - Note keeper.
- nuTorrent - BitTorrent client.
- Abricotine - Markdown editor with inline preview.
- Medis - Redis database management.
- Kakapo - Ambient sound mixer for relaxation or productivity.
- SmartMirror - Voice controlled smart mirror.
- Koko - IRC client.
- KeeWeb - Unofficial KeePass app.
- Gitify - GitHub notifications in your menubar.
- Friends - P2P chat.
- Cumulus - SoundCloud player in your menubar.
- Kitematic - Docker container management.
- FatFileFinder - Find large files on your machine.
- ScreenCat - Screen sharing & remote collaboration.
- Mapbox Studio - Map designer.
- LevelUI - LevelDB management.
- Vmd - Preview Markdown files.
- Kyoku - Displays current iTunes song.
- GReader - Collect and read offline readme files of GitHub repos.
- Leanote - Cloud notepad.
- Snapper - Screen capturing & recording for Android devices.
- Imagemin - Minify images.
- We Build SG - Upcoming events & recently updated repos from webuild.sg.
- Piglet - Run Grunt tasks from your menubar.
- Yoda - Browse and download YouTube videos.
- Loop Drop - MIDI looper and synth for live electronic music performances.
- Toby - YouTube player.
- Kaku - Music player.
- Markn - Markdown viewer.
- Shiba - Live Markdown preview with linting.
- Yays - YouTube music player in your menubar.
- Monu - Process monitoring.
- DevDocs - Unofficial DevDocs.io app.
- google-music-electron - Unofficial Google music app.
- Pomodoro - Timer based on the Pomodoro Technique.
- Sia-UI - Decentralized file storage system based on cryptocurrency technology.
- MarkRight - GitHub flavored Markdown editor with live preview.
- Mongotron - MongoDB management tool.
- Colonizers - "Catan" inspired board game.
- Eintopf - Manage development projects with Docker.
- WhatsDesktop - Unofficial WhatsApp app.
- Sqlectron - SQL client.
- docker-indicator - Unofficial Docker menubar app.
- Light Table - Code editor with instant feedback.
- Tubehead - YouTube music player in your menubar.
- Google Play Music Desktop Player - Unofficial Google Play Music app.
- Chrome DevTools - Chrome DevTools packaged as an app.
- Yeobara - Meetup check-in with beacon.
- Proton - Markdown editor with live preview.
- James - HTTP proxy to view and intercept browser requests.
- DTCP - Twitter client.
- Inbox - Unofficial Google Inbox app.
- tweet-rec - Tweet recording player.
- Snippet Bar - Copy-paste & re-use text snippets in your menubar.
- Electronic WeChat - Unofficial WeChat app.
- dida - Add tasks to TickTick (滴答清单).
- FromScratch - Autosaving scratchpad.
- Hawkpass - Password generator.
- Gokotta - Music player.
- Shake - Japanese Earthquake Early Warning Notifier.
- Fog - Unofficial Overcast podcast app.
- Wmail - Unofficial Gmail & Google Inbox app.
- Boostnote - Markdown note & code snippet app for developers.
- Before Dawn - Screensaver tool.
- Active Collab - Unofficial Active Collab app.
- Hain - Launcher for Windows.
- Catify - Utility for Spotify.
- Minira - JIRA issues in your menubar.
- Ansel - Image organizer.
- Build Checker App - Check CI-server build statuses.
- Tockler - Tracks your time.
- Mattermost - Mattermost client.
- PupaFM - DoubanFM music player.
- MediumDesk - Unofficial Medium app.
- Lightgallery - Image viewer.
- Crypter - Secure encryption client.
- YakYak - Unofficial Google Hangouts app.
- Museeks - Music player.
- VOX - Unofficial VOX music player.
- Sabaki - Go/Baduk/Weiqi board.
- Marky - Markdown editor.
- Deco - React Native IDE.
- Toshocat - Anime/Manga Progress Tracker.
- iStats - CPU and memory stats on your menubar.
- Wire - Messenger and calling app.
- Ramme - Unofficial Instagram app.
- Moonview - Ambient notepad.
- DBGlass - PostgreSQL client.
- Slide Beacon - Physical web beacon broadcast.
- Rambox - Chat and email app that combines multiple services like Discord, Hangouts, Gmail and Outlook.
- Extraterm - Terminal.
- Materialette - Material design color palette in your menubar.
- Dext - Launcher.
- PB for Desktop - Pushbullet client.
- GroupMe - Unofficial GroupMe app.
- ndm - npm desktop manager.
- GIFBar - Search GIFs in your menubar.
- Stacer - Ubuntu system optimizer.
- Zazu - Launcher.
- Inpad - Notes app with GitHub-flavored Markdown.
- Cerebro - Launcher with inline previews.
- Desktop Dimmer - Control the brightness of any display.
- LosslessCut - Lossless video trimming & cutting.
- Buka - E-book management.
- Insomnia - Create and manage HTTP requests.
- Tusk - Unofficial Evernote app.
- ProtonMail Desktop - Unofficial ProtonMail app.
- Comma Chameleon - CSV editor.
- Buttercup Desktop - Password manager.
- Mailspring - Extensible email client. (Fork of Nylas Mail)
- Manta - Invoicing for freelancers with beautiful and customizable templates.
- Headset - Discover, collect, and listen to music from YouTube.
- Nuclear - Music player that streams from free sources.
- FreeMAN - File manager for power users.
- Mark Text - Real-time preview Markdown editor.
- Pomotroid - Pomodoro timer.
- Pretzel - Show and search keyboard shortcuts for the current app.
- Netron - Visualizer for deep learning and machine learning models.
- Ao - Unofficial Microsoft To-Do app.
- Etcher - Flash OS images to SD cards and USB drives.
- Noty - Auto-saving sticky note with support for multiple notes in a single window.
- Notable - Markdown-based note-taking.
- Mini Diary - Simple and secure journal app.
- Unsplash Wallpapers - Set desktop wallpaper from Unsplash.
- Motrix - Download manager.
- Franz - Skype, Slack, Hangouts, WhatsApp, Grape, Telegram, FB Messenger, Hipchat in the same app.
- Gmail Desktop - Unofficial Gmail app.
- Upcount - Invoicing.
- ExifCleaner - Clean image metadata with drag and drop.
- massCode - Code snippet manager for developers.
- Swifty - Password manager.
- MQTTX - Client for MQTT, which is a lightweight messaging protocol.
- LightProxy - Web debugging proxy.
- Beekeeper Studio - Cross-platform SQL editor and database manager.
- Mouseless - Keyboard shortcut training and look-up.
- Glyphfinder - Unicode character search.
- Graviton Editor - Cross-platform code editor.
- Yana - Notebook app with rich-text notes, nested note organization and global search.
- SpaceEye - Live satellite imagery for your desktop background.
- Heroic Games Launcher - Alternative Epic games launcher.
Closed Source
- GitKraken - Git client.
- 1Clipboard - Universal clipboard manager.
- Postman - Create and send HTTP requests.
- Slack - Desktop version.
- Avocode - Share design and collaborate.
- Prepros - Compile almost any preprocessing language with live browser refresh.
- Stremio - Media center.
- Typetalk - Share and discuss ideas with your team through instant messaging.
- Pingendo - Bootstrap prototyping.
- Spreaker Studio - Audio recording and broadcasting.
- MockingBot - Prototyping tool for designing apps.
- Caret - Markdown editor.
- Wantedly Chat - Business team chat. (Japanese)
- Remember - Business card management. (Korean)
- MongoDB Compass - Official MongoDB app.
- Freeter - Organizer for freelancers & creatives.
- WhatsApp - Official WhatsApp app.
- CatLight - Build status notifier.
- Automint - CRM for automobile businesses.
- Discord - Voice and text chat.
- Cocos Creator - Game editor for creating web and native games for Cocos2D-x.
- Inkdrop - Markdown notebook for hackers.
- Exodus - Secure, manage, and exchange blockchain assets like Bitcoin and Ethereum.
- Hackolade - Data modeling for NoSQL and multi-model databases.
- ScreenSquid - Record and playback website visitor sessions.
- CashNotify - Monitor your Stripe accounts from your menu bar.
- Mockoon - Mock servers in seconds.
- Twitch - Official Twitch app.
- Fenêtre - Picture-in-picture for your Mac.
- Cleavr - Provision servers and deploy web apps.
- Brandy - A brand asset manager for your menu bar.
- Cacher - Cloud-based, team-enabled code snippet manager with Gist sync.
- MusicPlus - Free music app for macOS and Windows.
- Mingo - MongoDB GUI.
- Moon Modeler - Schema design tool for MongoDB, Mongoose, and MariaDB.
- Notion - All-in-one workspace for your notes, tasks, wikis, and databases.
- FATpick - Guitar tablature viewer that scores your performance as you play along.
- Taskade - Realtime organization and collaboration tool for distributed teams with tasks, notes, and chat.
- Coloban - All-in-one project management tool with chats, Kanban, Gantt, calls, screenshare, and more.
- Dynobase - AWS DynamoDB GUI.
- Nota - Pro writing app designed for local Markdown files.
- Lotus - Keep up with GitHub notifications without stress.
Samples
- Electron API usage - Sample apps illustrating usage of Electron APIs.
- Screen Recorder - WebRTC screen recorder.
- Activity Monitor - Shows a doughnut chart of the CPU system, user, and idle activity time.
- Hash - Shows the hash values of entered text using different algorithms.
- Prices - Shows the current price of oil, gold, and silver using the Yahoo Finance API.
- Touch Bar API - Example of macOS Touch Bar integration.
Boilerplates
- electron-boilerplate - Boilerplate to kickstart creating an app - by sindresorhus.
- generator-electron - Scaffold out an app boilerplate.
- electron-boilerplate - Comprehensive boilerplate which even generates installers - by szwacz.
- electron-react-boilerplate - Boilerplate based on React and webpack.
- electron-quick-start - Clone the repo to try a simple app.
- bozon - Scaffold, run, test, and package your app.
- secure-electron-template - Security-focused boilerplate for creating apps with React, Redux, Webpack, and i18next.
- angular-electron - Fast bootstrapping with Angular, Electron, TypeScript, SASS, and Hot Reload.
- vite-electron-builder - Secure boilerplate for Electron app based on Vite. TypeScript + Vue/React/Angular/Svelte/Vanilla.
Tools
For Electron
- electron-builder - Create installers.
- devtron - Official DevTools extension.
- electron-packager - Package and distribute your app.
- electron-debug - Adds useful debug features.
- electron-is-dev - Check if Electron is running in development.
- electron-localshortcut - Add keyboard shortcuts locally to a window.
- electron-gh-release - Auto-update by releasing on GitHub.
- electron-release - Publish a new release of your app to GitHub.
- electron-updater - Auto-updater leveraging npm to deploy updates.
- fix-path - Fix the $PATH on macOS when run from a GUI app. Useful when spawning a child process.
- auto-launch - Launch apps at system startup.
- nuts - Releases server with auto-updater and GitHub as a backend.
- electron-dl - Simplified file downloads.
- electron-release-server - Self-hosted release server with front-end & auto-updater support.
- electron-rebuild - Rebuild native Node.js modules against the currently installed Electron version.
- electron-compile - Use ES2015, CoffeeScript, Less, Stylus in your app without a precompilation step.
- electron-positioner - Position windows at common spots.
- electron-window-state - Persist window sizes and positions.
- electron-drag - Improved window dragging.
- debug-menu - Chrome-like "inspect element" context-menu.
- electron-installer-debian - Create a Debian package.
- electron-installer-redhat - Create a Red Hat package.
- electron-installer-windows - Create a Windows package.
- electron-sudo - Subprocesses with administrative privileges.
- electron-json-storage - Write and read user settings.
- electron-download - Download the Electron release zip from GitHub.
- ipc-stream - Duplex stream over IPC.
- is-electron-renderer - Check if your code is running in
main
orrenderer
. - electron-osx-sign - Code-signing for macOS apps.
- electron-detach - Restart an Electron app as a detached process.
- ember-electron - Build, test, and package Ember apps.
- electrify - Package Meteor apps.
- spectron - Test Electron apps using ChromeDriver.
- babel-preset-electron - Babel preset that only compiles what's necessary for a particular Electron version.
- electron-is - Utility functions.
- electron-osx-appearance - Simplified API for accessing macOS's appearance settings.
- electron-store - Save and load data like user preferences, app state, cache, etc.
- electron-context-menu - Extensible context menu.
- electron-require - Simplified require.
- NeDB - Embedded persistent or in-memory database.
- RxDB - A realtime NoSQL database.
- electron-devtools-installer - Install DevTools extensions from the Chrome Web Store.
- electron-log - Simple logging.
- electron-redux - Synchronize Redux state across windows.
- electron-vibrancy - Add vibrancy (blur) to windows.
- electron-about-window - 'About This App' window.
- elemon - Live-reload your app during development.
- electron-is-accelerator - Check if a string is a valid accelerator.
- electron-pdf-window - View PDF files in browser windows.
- electron-router - Router tidying up IPC message passing.
- electron-settings - Reads and writes user settings to disk.
- got - Simplified HTTP requests.
- electron-unhandled - Catch unhandled errors and promise rejections.
- electron-process-manager - Process manager UI (like Chrome's task manager).
- electron-util - Useful utilities for developing apps and modules.
- electron-reloader - Simple auto-reloading during development.
- electron-serve - Static file serving (Useful for routing, like
react-router
). - electron-timber - Pretty logger.
- chromium-net-errors - Chromium's network errors as custom error classes.
- run-electron - Run Electron without all the junk terminal output.
- ngx-electron - Integrate Electron APIs and Angular.
- debugtron - Debug in-production Electron-based apps.
- electron-ssl-pinning - Prevent MITM.
- electron-better-ipc - Simplified IPC communication.
- electron-chrome-extension - Add support for Chrome extensions.
- electron-ipc-proxy - Transparent asynchronous remoting between browser windows and the main process.
- trilogy - TypeScript SQLite database layer with support for both native C++ and pure JavaScript backends.
- adblocker-electron - Block ads and trackers.
- electronmon - Monitor and reload apps out-of-process during development.
- electron-create-menu - Default menus for all platforms, easily extendable, and with i18n support.
- electronegativity - Identify misconfigurations and security anti-patterns.
- UpdateRocks! - Auto-update service. Free for open source projects.
Using Electron
- devtool - Debug Node.js with Chrome DevTools.
- nativefier - Create an app of any website.
- electron-stream - Streaming wrapper.
- Nightmare - High-level browser automation library (alternative to PhantomJS).
- electron-pdf - Generate PDF from URL, HTML, or Markdown files on the command-line.
- Geojsonapp - Preview GeoJSON locally.
- electron-mocha - Run Mocha tests in Electron.
- electron-har - Command-line tool for generating HTTP Archive (HAR).
- electron-windows-store - Turn Electron apps into Windows Store AppX packages.
- Reactotron - Inspect your React and React Native apps.
- jest-electron - Run and debug Jest unit tests in a browser environment.
Components
- Photon - UI toolkit for building beautiful apps.
- React PhotonKit - Photon components built with React.
- menubar - Menubar app framework.
- cookies - Adds support for
document.cookie
. - window - Create and manage windows.
- React Desktop - UI toolkit for macOS and Windows built with React.
- electron-input-menu - Context menu for input elements.
- chrome-tabs - Chrome like tabs.
- titlebar - Emulate the macOS window titlebar.
- Brightwheel - Build and manage UI components with Photon and Etch.
- Xel - Widget toolkit for building native-like apps.
Documentation
- Quick Start
- Official docs
- Essential Electron - Concise overview.
Articles
- Electron Fundamentals
- Building a desktop application with Electron
- Codesigning your app for macOS
- Auto-updating apps for macOS and Windows: The complete guide
- Building a desktop app with Electron, React, and Redux
- Introducing BrowserView for Electron - New Electron API to embed web apps with fewer bugs and improved performance.
- Migrating Slack's Desktop App to BrowserView - Slack rewrote their Electron app with
BrowserView
, Redux, Rx, and TypeScript, to fix its performance problems. - Electron on the App Store - A 5-part series about the journey of making and publishing an Electron app to the Mac App Store.
- Building a file explorer with Electron, Quasar, and Vue - Focused on design and code decisions and Electron security.
- Using Google Analytics to gather usage statistics in Electron - How to collect anonymous user statistics.
- Notarizing your Electron app - How to configure your app packaging for Apple's notarization.
- Making Electron apps feel native on Mac
Books
Videos
- Getting Started with Electron 1.x
- Packaging and Distributing Electron Desktop Apps
- Multi Window Electron Desktop Apps
- The State of Electron
- Cross-Platform Desktop Apps with Electron
- Building Native Desktop apps using Electron
- The New Desktop: Electron, React, & Pixel-Perfect Native-Feeling Experiences
- Building Desktop Apps with Node.js and Electron
- Electron Fundamentals course - Pluralsight
💲 - Electron: Building Cross Platform Desktop Apps - Lynda 💲
- Automatically Build and Publish Node and Electron Applications for Linux
- Build a desktop application with Electron - Egghead
💲 - Build Cross-Platform Desktop Apps with Electron - Frontend Masters
💲 - Electron Meetup SF, November 2017 - Includes some good talks on improving app startup time, debugging crashes, etc.
- Make Your Electron App Feel at Home Everywhere - Tips on making your app feel more native on macOS, Windows, and Linux without sacrificing your own style.
Podcasts
- JavaScript Jabber: Electron with Jessica Lord and Amy Palamountain
- Hanselminutes: Creating cross-platform Electron apps with Jessica Lord
- JavaScript Air: Electron Apps with @jlord and @emorikawa
- The Changelog #216: GitHub's Electron with Zeke Sikelianos
- Full Stack Radio #48: Jessica Lord - Building Desktop Apps with Electron
Community
- Discuss
- Stack Overflow
@electronjs
on Twitter#atom-shell
on Freenode#electron
on Atom Slack- electron-jp (Japanese)
- electron-br (Brazilian Portuguese)
- electron-pl (Polish)
@electron_ru
on Telegram (Russian)electronjs
on Facebook- Product Hunt
Contribute
Contributions welcome! Read the contribution guidelines first.