Wondering what’s next for npm?Check out our public roadmap! »

    DefinitelyTyped icon, indicating that this package has TypeScript declarations provided by the separate @types/readable-stream package

    3.4.0 • Public • Published


    Node.js core streams for userland Build Status


    Sauce Test Status

    npm install --save readable-stream

    This package is a mirror of the streams implementations in Node.js.

    Full documentation may be found on the Node.js website.

    If you want to guarantee a stable streams base, regardless of what version of Node you, or the users of your libraries are using, use readable-stream only and avoid the "stream" module in Node-core, for background see this blogpost.

    As of version 2.0.0 readable-stream uses semantic versioning.

    Version 3.x.x

    v3.x.x of readable-stream supports Node 6, 8, and 10, as well as evergreen browsers, IE 11 and latest Safari. The breaking changes introduced by v3 are composed by the combined breaking changes in Node v9 and Node v10, as follows:

    1. Error codes: https://github.com/nodejs/node/pull/13310, https://github.com/nodejs/node/pull/13291, https://github.com/nodejs/node/pull/16589, https://github.com/nodejs/node/pull/15042, https://github.com/nodejs/node/pull/15665, https://github.com/nodejs/readable-stream/pull/344
    2. 'readable' have precedence over flowing https://github.com/nodejs/node/pull/18994
    3. make virtual methods errors consistent https://github.com/nodejs/node/pull/18813
    4. updated streams error handling https://github.com/nodejs/node/pull/18438
    5. writable.end should return this. https://github.com/nodejs/node/pull/18780
    6. readable continues to read when push('') https://github.com/nodejs/node/pull/18211
    7. add custom inspect to BufferList https://github.com/nodejs/node/pull/17907
    8. always defer 'readable' with nextTick https://github.com/nodejs/node/pull/17979

    Version 2.x.x

    v2.x.x of readable-stream supports all Node.js version from 0.8, as well as evergreen browsers and IE 10 & 11.

    Big Thanks

    Cross-browser Testing Platform and Open Source <3 Provided by Sauce Labs


    You can swap your require('stream') with require('readable-stream') without any changes, if you are just using one of the main classes and functions.

    const {
    = require('readable-stream')

    Note that require('stream') will return Stream, while require('readable-stream') will return Readable. We discourage using whatever is exported directly, but rather use one of the properties as shown in the example above.

    Streams Working Group

    readable-stream is maintained by the Streams Working Group, which oversees the development and maintenance of the Streams API within Node.js. The responsibilities of the Streams Working Group include:

    • Addressing stream issues on the Node.js issue tracker.
    • Authoring and editing stream documentation within the Node.js project.
    • Reviewing changes to stream subclasses within the Node.js project.
    • Redirecting changes to streams from the Node.js project to this project.
    • Assisting in the implementation of stream providers within Node.js.
    • Recommending versions of readable-stream to be included in Node.js.
    • Messaging about the future of streams to give the community advance notice of changes.

    Team Members


    npm i [email protected]





    Unpacked Size

    115 kB

    Total Files


    Last publish


    • avatar
    • avatar
    • avatar
    • avatar
    • avatar
    • avatar