# @toruslabs/broadcast-channel

> A BroadcastChannel that works in New Browsers, Old Browsers, WebWorkers

Latest version **13.3.0** (published 2026-03-20) · MIT license · 0 weekly downloads

## Install

```sh
npm install @toruslabs/broadcast-channel
pnpm add @toruslabs/broadcast-channel
yarn add @toruslabs/broadcast-channel
bun add @toruslabs/broadcast-channel
```

## Health

**Score 60/100 (C)** — status: active.

Positive: has types; esm support; no vulnerabilities; high quality score.

Warnings: low downloads.

## Facts

| | |
|---|---|
| Version | 13.3.0 |
| Published | 2026-03-20 |
| First published | 2022-04-27 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Node | >=22.x |
| Dependencies | 7 |
| Unpacked size | 897.5 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 1 |
| Author | pubkey |
| Maintainers | torusresearch, chaitanyapotti, tetratorus, archit_web3, himanshunpm009 |
| Keywords | broadcast-channel, broadcastchannel, broadcast, polyfill, localstorage, indexeddb, postMessage, crosstab |

## Links

- npm: https://www.npmjs.com/package/@toruslabs/broadcast-channel
- Repository: https://github.com/torusresearch/broadcast-channel
- Homepage: https://github.com/torusresearch/broadcast-channel#readme
- Issues: https://github.com/torusresearch/broadcast-channel/issues
- npm.io page: https://npm.io/package/@toruslabs/broadcast-channel

## Dependencies (7)

- [loglevel](https://npm.io/package/loglevel.md) ^1.9.2
- [oblivious-set](https://npm.io/package/oblivious-set.md) 2.0.0
- [@babel/runtime](https://npm.io/package/@babel/runtime.md) ^7.28.6
- [socket.io-client](https://npm.io/package/socket.io-client.md) ^4.8.3
- [@toruslabs/eccrypto](https://npm.io/package/@toruslabs/eccrypto.md) ^7.0.0
- [@toruslabs/constants](https://npm.io/package/@toruslabs/constants.md) ^16.1.0
- [@toruslabs/metadata-helpers](https://npm.io/package/@toruslabs/metadata-helpers.md) ^8.2.0

## Alternatives

- [localforage](https://npm.io/package/localforage.md) — 6.2M weekly downloads
- [localforage-observable](https://npm.io/package/localforage-observable.md) — 30.8K weekly downloads
- [@y/y](https://npm.io/package/@y/y.md) — 30.1K weekly downloads
- [@metaobjectsdev/render](https://npm.io/package/@metaobjectsdev/render.md) — 3.5K weekly downloads
- [@ledgerhq/coin-algorand](https://npm.io/package/@ledgerhq/coin-algorand.md) — 1.1K weekly downloads

## Recent versions

- 13.3.0 (latest) — 2026-03-20
- 13.2.0 — 2026-03-05
- 13.1.0 — 2026-02-23
- 13.0.1 — 2026-02-19
- 13.0.0 — 2026-02-06
- 12.0.0 — 2025-03-06
- 11.0.0 — 2024-06-18
- 10.0.2 — 2024-03-19
- 10.0.1 — 2024-03-18
- 10.0.0 — 2024-03-18
- 9.0.1 — 2023-10-26
- 9.0.0 — 2023-10-10
- 8.0.0 — 2023-08-08
- 7.0.0 — 2023-05-02
- 6.3.1 — 2023-05-01
- … 13 more at https://npm.io/package/@toruslabs/broadcast-channel/versions

## README

<!--
    This is a different REDME file which will be published to npm
    The one for GitHub is in .github directory.

    @link https://stackoverflow.com/a/65676410/3443137

    The problem was that google indexed the npm-site instead of the github site
-->

<p align="center">
  <a href="https://github.com/pubkey/broadcast-channel">
    <img src="./docs/files/icon.png" width="150px" />
  </a>
</p>

<h1 align="center">BroadcastChannel</h1>
<p align="center">
  <strong>A BroadcastChannel that works in old browsers, new browsers, WebWorkers and NodeJs</strong>
  <br/>
  <span>+ LeaderElection over the channels</span>
</p>

<p align="center">
    <a href="https://twitter.com/pubkeypubkey">
        <img src="https://img.shields.io/twitter/follow/pubkeypubkey.svg?style=social&logo=twitter"
            alt="follow on Twitter"></a>
</p>

![demo.gif](docs/files/demo.gif)

* * *

A BroadcastChannel that allows you to send data between different browser-tabs or nodejs-processes.
And a LeaderElection over the channels.

# [Read the full documentation on github](https://github.com/pubkey/broadcast-channel)

---
_Source: https://npm.io/package/@toruslabs/broadcast-channel · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
