# agora-electron-sdk

> agora-electron-sdk

Latest version **4.6.2** (published 2026-03-05) · MIT license · 0 weekly downloads

## Install

```sh
npm install agora-electron-sdk
pnpm add agora-electron-sdk
yarn add agora-electron-sdk
bun add agora-electron-sdk
```

## Health

**Score 65/100 (B)** — status: stable.

Positive: has types; no vulnerabilities; has provenance; high maintenance score; high quality score.

Warnings: low downloads; no esm support.

## Facts

| | |
|---|---|
| Version | 4.6.2 |
| Published | 2026-03-05 |
| First published | 2018-06-11 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | CommonJS |
| Node | >= 14.0.0 |
| Dependencies | 28 |
| Unpacked size | 3.3 MB |
| Known vulnerabilities | 0 (+6 in 2 direct dependencies) |
| Install scripts | yes |
| Provenance | attested (GitHub Actions) |
| GitHub stars | 157 |
| Author | Agora.io |
| Maintainers | agora.io, luxuhui, guoxianzhe, sda_rob, agorabuilder |
| Keywords | electron, windows, mac |

## Links

- npm: https://www.npmjs.com/package/agora-electron-sdk
- Repository: https://github.com/AgoraIO-Extensions/Electron-SDK
- Homepage: https://github.com/AgoraIO-Extensions/Electron-SDK#readme
- Issues: https://github.com/AgoraIO-Extensions/Electron-SDK/issues
- npm.io page: https://npm.io/package/agora-electron-sdk

## Dependencies (28)

- [got](https://npm.io/package/got.md) ^11.8.5
- [gulp](https://npm.io/package/gulp.md) ^5.0.0
- [pify](https://npm.io/package/pify.md) ^4.0.1
- [buffer](https://npm.io/package/buffer.md) ^6.0.3
- [semver](https://npm.io/package/semver.md) ^7.6.0
- [p-event](https://npm.io/package/p-event.md) ^2.1.0
- [shelljs](https://npm.io/package/shelljs.md) ^0.8.5
- [winston](https://npm.io/package/winston.md) ^3.11.0
- [ext-name](https://npm.io/package/ext-name.md) ^5.0.0
- [fs-extra](https://npm.io/package/fs-extra.md) ^11.1.1
- [jsonfile](https://npm.io/package/jsonfile.md) ^6.1.0
- [make-dir](https://npm.io/package/make-dir.md) ^4.0.0
- [minimist](https://npm.io/package/minimist.md) ^1.2.8
- [cross-env](https://npm.io/package/cross-env.md) ^7.0.3
- [file-type](https://npm.io/package/file-type.md) ^11.1.0
- [decompress](https://npm.io/package/decompress.md) ^4.2.1
- [filenamify](https://npm.io/package/filenamify.md) ^3.0.0
- [get-stream](https://npm.io/package/get-stream.md) ^4.1.0
- [node-fetch](https://npm.io/package/node-fetch.md) ^2.7.0
- [yuv-buffer](https://npm.io/package/yuv-buffer.md) 1.0.0
- [yuv-canvas](https://npm.io/package/yuv-canvas.md) 1.2.6
- [extract-zip](https://npm.io/package/extract-zip.md) ^2.0.1
- [json-bigint](https://npm.io/package/json-bigint.md) ^1.0.0
- [archive-type](https://npm.io/package/archive-type.md) ^4.0.0
- [eventemitter3](https://npm.io/package/eventemitter3.md) ^5.0.1
- [lodash.isequal](https://npm.io/package/lodash.isequal.md) ^4.5.0
- [content-disposition](https://npm.io/package/content-disposition.md) ^0.5.2
- [ts-interface-checker](https://npm.io/package/ts-interface-checker.md) ^1.0.2

## Alternatives

- [@opentelemetry/exporter-zipkin](https://npm.io/package/@opentelemetry/exporter-zipkin.md) — 14.8M weekly downloads
- [pusher-js](https://npm.io/package/pusher-js.md) — 2.0M weekly downloads
- [browserify](https://npm.io/package/browserify.md) — 1.7M weekly downloads
- [sqs-consumer](https://npm.io/package/sqs-consumer.md) — 1.7M weekly downloads
- [@sanity/eventsource](https://npm.io/package/@sanity/eventsource.md) — 930.8K weekly downloads

## Recent versions

- 4.6.2 (latest) — 2026-03-05
- 4.5.3-build.8-rc.1 (build) — 2026-10-30
- 4.5.3-dev.3 (dev) — 2026-04-03
- 3.6.1-rc.10-build.914.2 (customer_hotfix) — 2026-03-10
- 4.5.40-rc.4 (rc) — 2026-01-28
- 4.3.2-test.4421-rc.1 (test) — 2025-05-16
- 4.2.0-beta.9 (beta) — 2023-05-24
- 4.0.1-xhs.3 (xhs) — 2022-12-16
- 4.0.0-build.121-alpha.1 (alpha) — 2022-09-20
- 3.5.0-rc.217-build.903 (ng) — 2021-09-03
- 2.9.107-rc.148-build.79 (apaas) — 2021-07-09
- 3.4.2-rc.122-build.78 (apaas_3xx) — 2021-07-08
- 2.9.0-rc.107-build.630 (education290) — 2021-06-30
- 3.3.2-build.157 (netease_voice) — 2021-05-10
- 3.2.1-hotfix.2 (hotfix) — 2021-05-06
- … 804 more at https://npm.io/package/agora-electron-sdk/versions

## README

> ⚠️ **Note**: To provide you with better and higher quality technical support services, we will no longer provide technical support through GitHub issues. If you need help, please contact us directly through [Agora Support](https://www.agora.io/en/customer-support/).

> NOTE: These sdk and samples only for the Agora Video 4.x APIs. For examples using previous releases please see the following branches:
>
> - [3.x](https://github.com/AgoraIO-Extensions/Electron-SDK/tree/3.x)

# Agora RTC SDK for Electron

<div align="left">
    <a href="https://github.com/AgoraIO-Extensions/Electron-SDK"><img src="https://img.shields.io/badge/Platform-macOS--x86--64%20%7C%20macOS--arm64%20%7C%20win--32%20%7C%20win--64-blue?logo=Electron&labelColor=fff" alt="Platform"/></a>
    <a href="https://www.npmjs.com/package/agora-electron-sdk"><img alt="npm" src="https://img.shields.io/npm/v/agora-electron-sdk?color=blue&style=flat-square&logo=npm"></a>
    <a href="https://www.npmjs.com/package/agora-electron-sdk"><img alt="npm" src="https://img.shields.io/npm/dm/agora-electron-sdk?color=blue&style=flat-square&logo=npm"></a>
    <a href="./LICENSE"><img src="https://img.shields.io/github/license/agoraio-extensions/electron-sdk?color=blue&style=flat-square" alt="License"/></a>
    <a href="https://github.com/AgoraIO-Extensions/Electron-SDK/issues"><img src="https://flat.badgen.net/github/label-issues/AgoraIO-Extensions/Electron-SDK/help%20wanted/open" alt="License"/></a>
</div>

## ✨ Features

- 📦 Newly designed middle-tier API and Native C++ SDK.
- 🛡 Written in TypeScript with predictable static types.

## 🖥 Environment Support

- 🌈 Support macOS x86-64 and arm64 ([Electron 11+](https://www.electronjs.org/zh/blog/apple-silicon))
- ⚙️ Support Windows ia32 and x64
- [Electron](https://www.electronjs.org/): 4.x ~ latest

| [<img src="https://simpleicons.org/icons/macos.svg" alt="Chrome" width="48px" height="24px" />]()<br>macOS | [<img src="https://simpleicons.org/icons/windows.svg" alt="Safari" width="24px" height="24px" />]()<br>Windows | [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/electron/electron_48x48.png" alt="Electron" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)<br>Electron |
| ---------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| x86 \| arm64                                                                                               | ia32 \| x64                                                                                                    | 4.0.0 ~ Latest                                                                                                                                                                                                       |

## 📦 Install

In newest version you can define installation configuration in package.json (or .npmrc, while package.json has a higher
priority), usually you can just provide "prebuilt", and "arch".

```json
// package.json
{
  ...
  "agora_electron": {
    "prebuilt": true,
    "arch": "x64"
  }
  ...
}


// .npmrc
agora_electron_sdk_pre_built=true // defalut value is true
agora_electron_sdk_arch=x64 // only support windows:
```

Properties detail:

- **prebuilt** whether to automatically download prebuilt NodeJS C++ Addon or build locally(which need to provide
  development env)
- **arch**: If not set, the script will automatically choose the arch. **only support windows**
- **platform** darwin or win32

```bash
## Automatic platform and architecture selection
npm install agora-electron-sdk
```

or

```bash
## or select 32 bit architecture on Windows
npm install --agora_electron_sdk_arch=ia32

## or select 64 bit architecture on Windows
npm install --agora_electron_sdk_arch=x64
```

## 🔨 Usage

```javascript
import createAgoraRtcEngine from 'agora-electron-sdk';

const rtcEngine = createAgoraRtcEngine();
rtcEngine.initialize({ appId: '<your agora app id>' });
```

### When using without electron-webpack

When using directly within a web electron project with custom webpack configuration, you may see errors when compiling.
It's because you have not properly configured loader for node addon. A convenient way to skip the compile process is to
set `externals` property of your webpack config to `{"agora-electron-sdk": "commonjs2 agora-electron-sdk"}`

## 🔗 Links

- [Document](https://docs.agora.io/en/video-call-4.x/API%20Reference/electron_ng/API/rtc_api_overview_ng.html) - Official document

- [Demo](./example/) - A quick start demo based on React and this repo

- [Changelog](./CHANGELOG.md) - Attention to newest information

- [Release Notes](https://docs.agora.io/en/video-call-4.x/release_electron_ng?platform=Electron) - Attention to newest
  information

## ⌨️ Development

### Build From Source Code

You will need to build **Agora RTC Electron SDK** from source if you want to work on a new feature/bug fix, try out the
latest features which are not released yet, or maintain your own fork with patches that cannot be merged to the core.

### Prerequisites

#### Windows

- Python 2.7
- Visual Studio Code C++ Desktop Develop Framework

#### MacOS

- Python 2.7
- XCode

### Clone locally:

```bash
$ git clone git@github.com:AgoraIO-Extensions/Electron-SDK.git
$ cd Electron-SDK
$ npm install #or yarn

# build macOS
$ npm install --agora_electron_sdk_pre_built=false

# build  32 bit architecture on Windows
$ npm install --agora_electron_sdk_pre_built=false  --agora_electron_sdk_arch=ia32

# build  64 bit architecture on Windows
$ npm install --agora_electron_sdk_pre_built=false  --agora_electron_sdk_arch=x64
```

## 🤝 Contributing [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](https://github.com/AgoraIO-Extensions/Electron-SDK/pulls)

Read our contributing guide and let's build a better antd together. :)

1. Fork the Project
2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)
3. Commit your Changes (`git commit -m 'Add some AmazingFeature`)
4. Push to the Branch (`git push origin feature/AmazingFeature`)
5. Open a Pull Request

---
_Source: https://npm.io/package/agora-electron-sdk · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
