Join the chat at build status npm version npm downloads code climate

RxJS 5-based middleware for Redux. Compose and cancel async actions to create side effects and more.


This has peer dependencies of rxjs@5.x.x and redux, which will have to be installed as well.

npm install --save redux-observable

IMPORTANT: redux-observable does not add any of the RxJS operators to the Observable.prototype so you will need to import the ones you use or import all of them in your entry file. Learn more.

Optional Adapters

Epics use RxJS v5 by default. You can use other stream libraries (other than RxJS v5) by using an Adapter.

You can write your own adapter too:

const adapter = {
  input: input$ => /* convert Observable to your preferred stream library */,
  output: output$ => /* convert your preferred stream back to an Observable */

See the existing adapters for examples. Keep in mind that while you still need RxJS v5 installed, redux-observable only pulls in the minimum amount of RxJS it needs internally--it doesn't import all of RxJS.


We publish a UMD build inside our npm package. You can use it via the unpkg CDN:

Watch an introduction

Watch a video on redux-observable

JSBin Examples

To see redux-observable in action, here's a very simple JSBin to play around with:



Join the chat at

Everyone is welcome on our Gitter channel!

Custom Emoji

Save this:

Add the redux-observable spinning logo to your Slack channel! Slack Instructions

*redux-observable is a community-driven project and is not officially affiliated with Netflix.


results matching ""

    No results matching ""