Skip to content
A simple Angular wrapper for electron's Renderer API
TypeScript JavaScript
Branch: master
Clone or download


Build Status semantic-release

ngx-electron is a small Module for Angular which makes calling Electron APIs from the Renderer Process easier. By adding it to your Angular projet, you'll get intelli sense and a simple Angular service which acts as facade for Electron API's.

ngx-electron is licensed under MIT.


Checkout the introduction post on my blog for more details.

Support me

Become a Patron!


ngx-electron can be installed easily using either yarn or npm commands in the scope of an angular project.

yarn add ngx-electron --save
# or
npm install ngx-electron --save

The NgxElectronModule needs to be import in your root Angular module (eg AppModule).

import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { AppComponent } from './app.component';

import { NgxElectronModule } from 'ngx-electron';

    declarations: [],
    imports: [
    bootstrap: [AppComponent]
export class AppModule {

Once the module has been imported, you can easily use dependency injection to get an instance of ElectronService.

import { Component } from '@angular/core';
import { ElectronService } from 'ngx-electron';
  selector: 'my-app',
  templateUrl: 'app.html'
export class AppComponent {
    constructor(private _electronService: ElectronService) { }
    public playPingPong() {
        if(this._electronService.isElectronApp) {
            let pong: string = this._electronService.ipcRenderer.sendSync('ping');


The ElectronService is exposing all API's accessible from within Electron's renderer process. If your app is not running inside electron, all getters will return NULL instead.


  • desktopCapturer: Electron.DesktopCapturer - Electron's desktop capturing API
  • ipcRenderer: Electron.IpcRenderer - Electron IpcRenderer
  • remote: Electron.Remote - Electron Remote capabilities
  • webFrame: Electron.WebFrame - Electron WebFrame
  • clipboard: Electron.Clipboard - Clipboard API
  • crashReporter: Electron.CrashReporter - Electron's CrashReporter
  • process: NodeJS.Process - Electron's Process Object
  • screen: Electron.Screen - Electron's Screen API
  • shell: Electron.Shell - Electron's Shell API
  • nativeImage: Electron.NativeImage - Electron's NativeImage API
  • isElectronApp: boolean - Indicates if app is being executed inside of electron or not
  • isMacOS: boolean - Indicates if app is running in electron and on macOS
  • isWindows: boolean - Indicates if app is running in electron and on Windows
  • isLinux: boolean - Indicates if app is running in electron and on Linux
  • isX86: boolean - Indicates if app is running in electron and on a x86 architecture
  • isX64: boolean - Indicates if app is running in electron and on a x64 architecture
You can’t perform that action at this time.