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.
Hyperduck
Send links from your iOS devices to your Mac (better than AirDrop)
My open source work is supported by the community
Special thanks to:Contents
Apps
Made with Electron.
Open Source
Featured
- WebTorrent - Streaming torrent client.
- Min - Minimal web browser.
- Hyper - Terminal.
- Visual Studio Code - Cross-platform IDE.
Other
- Git-it - Teaches you Git and GitHub.
- Caprine - Unofficial Facebook Messenger app.
- Simplenote - Note keeper.
- Abricotine - Markdown editor with inline preview.
- Kap - Screen recorder with GIF support.
- Medis - Redis database management.
- SmartMirror - Voice controlled smart mirror.
- Beaker - Browser with peer-to-peer web protocols.
- KeeWeb - Unofficial KeePass app.
- Gitify - GitHub notifications in your menubar.
- SpaceRadar - Interactive disk space and memory visualization.
- Leanote - Cloud notepad.
- Loop Drop - MIDI looper and synth for live electronic music performances.
- 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.
- Sqlectron - SQL client.
- Light Table - Code editor with instant feedback.
- Google Play Music Desktop Player - Unofficial Google Play Music app.
- Chrome DevTools - Chrome DevTools packaged as an app.
- Proton - Markdown editor with live preview.
- Hawkpass - Password generator.
- Boostnote - Markdown note & code snippet app for developers.
- Before Dawn - Screensaver tool.
- Catify - Utility for Spotify.
- Ansel - Image organizer.
- Tockler - Tracks your time.
- Mattermost - Mattermost client.
- Crypter - Secure encryption client.
- YakYak - Unofficial Google Hangouts app.
- Museeks - Music player.
- Sabaki - Go/Baduk/Weiqi board.
- Wire - Messenger and calling app.
- Extraterm - Terminal.
- Stacer - Ubuntu system optimizer.
- Inpad - Notes app with GitHub-flavored Markdown.
- Cerebro - Launcher with inline previews.
- LosslessCut - Lossless video trimming & cutting.
- Buka - E-book management.
- Insomnia - Create and manage HTTP requests.
- Tusk - Unofficial Evernote app.
- Buttercup Desktop - Password manager.
- Mailspring - Extensible email client. (Fork of Nylas Mail)
- Headset - Discover, collect, and listen to music from YouTube.
- Nuclear - Music player that streams from free sources.
- Mark Text - Real-time preview Markdown editor.
- Pomotroid - Pomodoro timer.
- Netron - Visualizer for deep learning and machine learning models.
- Etcher - Flash OS images to SD cards and USB drives.
- Notable - Markdown-based note-taking.
- 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.
- VIR - Intelligent time manager with automatic planning.
- Browserosaurus - Browser prompter for macOS.
- linked - Daily journal.
- Sigma File Manager - Modern file manager.
- Ostara - Monitor and interact with Spring Boot apps via Actuator.
Closed Source
Featured
Other
- 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.
- Remember - Business card management. (Korean)
- MongoDB Compass - Official MongoDB app.
- Freeter - Organizer for freelancers & creatives.
- WhatsApp - Official WhatsApp app.
- CatLight - Build status notifier.
- 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.
- 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.
- Lotus - Keep up with GitHub notifications without stress.
- RunJS - Playground for JavaScript and TypeScript.
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.
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.
- 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.
- fix-path - Fix the $PATH on macOS when run from a GUI app. Useful when spawning a child process.
- 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.
- 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-download - Download the Electron release zip from GitHub.
- electron-osx-sign - Code-signing for macOS apps.
- ember-electron - Build, test, and package Ember apps.
- electron-store - Save and load data like user preferences, app state, cache, etc.
- electron-context-menu - Extensible context menu.
- 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-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.
- got - Simplified HTTP requests.
- electron-unhandled - Catch unhandled errors and promise rejections.
- 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.
- debugtron - Debug in-production Electron-based apps.
- electron-better-ipc - Simplified IPC communication.
- electron-chrome-extension - Add support for Chrome extensions.
- 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.
- electronegativity - Identify misconfigurations and security anti-patterns.
- UpdateRocks! - Auto-update service. Free for open source projects.
- pluggable-electron - Build apps that can be extended through plugins.
Using Electron
- nativefier - Create an app of any website.
- electron-stream - Streaming wrapper.
- electron-pdf - Generate PDF from URL, HTML, or Markdown files on the command-line.
- electron-mocha - Run Mocha tests in Electron.
- Reactotron - Inspect your React and React Native apps.
- jest-electron - Run and debug Jest unit tests in a browser environment.
Components
- menubar - Menubar app framework.
- React Desktop - UI toolkit for macOS and Windows built with React.
- chrome-tabs - Chrome like tabs.
- 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
💲 - 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
- 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
- Stack Overflow
@electronjs
on Twitter- 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.