# 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.

    <sub>Check out my macOS app</sub>
    <br>
    <h2>
        <a href="https://sindresorhus.com/menu-bar-spacing">Menu Bar Spacing</a>
        <br>
        <sup>Customize the gap between menu bar items on macOS</sup>
    </h2>

## Contents

- Apps
- Boilerplates
- Tools
- Components
- Documentation
- Articles
- Books
- Videos
- Podcasts
- Community
- Related

## 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.
- shadowsocks-electron - Cross-platform Shadowsocks client.
- Sigma File Manager - Modern file manager.
- Ostara - Monitor and interact with Spring Boot apps via Actuator.
- PikaTorrent - BitTorrent client.
- Wave Terminal - Open-source terminal with AI integration.

### Closed Source

###### Featured

- Rosefinch - Store and run SQL queries.
- Nota - Pro writing app designed for local Markdown files.

###### 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.
- OpenSFTP - Integrated SSH and SFTP workspace client.

### 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.
- electron-vite - Fast and easy-to-use build tool integrated with Vite.
- pluggable-electron - Build apps that can be extended through plugins.
- Hydraulic Conveyor - CLI tool that deploys apps without needing any special update servers, multi-platform CI, or code changes.
- Aptabase - Analytics for apps. Open source, privacy-friendly, and simple.

### 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

- Developing an Electron Edge - Preview 💲
- Electron in Action 💲
- Cross-Platform Desktop Applications 💲

## 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
- The Changelog #216: GitHub’s Electron with Zeke Sikelianos
- Full Stack Radio #48: Jessica Lord - Building Desktop Apps with Electron

## Community

- Reddit
- 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.

## Related

- awesome-nodejs
- awesome-electronjs-hacking

electron.md Github