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.
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.
- TimoFM - DoubanFM music player.
- 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.
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.
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.
- descjop - ClojureScript boilerplate for creating an app.
- electron-quick-start - Clone the repo to try a simple app.
- bozon - Scaffold, run, test, and package your app.
- electron-vue - Easily build your app with Vue and common plugins.
- electron-next-skeleton - Boilerplate to build your app with Next.js.
- 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.
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.
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.
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.