RxJS
Ranked 10 of 24 JavaScript libraries by recommenders
Reactive streams library for JavaScript that people praise for type safety and powerful operators for complex async flows. Most common caveat: complexity and hard debugging.
Reactive streams library for JavaScript that people praise for type safety and powerful operators for complex async flows. Most common caveat: complexity and hard debugging.
25 people gave an opinion
- recommend it
- 11
- criticize it
- 14
- approval share
- 44%
Recommended in 5 of 13 months
- November 2025: recommended
- December 2025: not recommended
- January 2026: not recommended
- February 2026: recommended
- March 2026: recommended
- April 2026: recommended
- May 2026: not recommended
- June 2026: recommended
- July 2026: not recommended
- August 2026: not recommended
- September 2026: not recommended
- October 2026: not recommended
- November 2026: not recommended (month in progress)
Why it doesn’t carry the badge
- 11 people recommend itNeeds 10 or more, met.
- 0.7 recommenders for every criticNeeds 2 to 1 or better, not met.
- Recommended in 5 of 13 monthsNeeds 4 or more, met.
The same three rules apply to every product, and the badge can’t be bought. How the badge works
What people say about it
The reasons people give, with the number of comments that give each one. Open a reason to read what they said.
Why people recommend it
Each mark is one comment
Preferred over signals for robustness
“I also prefer the power of RxJS over signals”
Comment from 20 Feb 2026 in “Web Components: The Framework-Free Renaissance” “RxJS is far more robust than signals”
Comment from 16 Feb 2026 in “JavaScript-heavy approaches are not compatible with long-term performance goals” Solves hard problems with operators
“As with most RxJS problems the diamond dependency problem can often be fixed/solved with the right combination of even more advanced operators”
Comment from 16 Feb 2026 in “JavaScript-heavy approaches are not compatible with long-term performance goals” “RxJS solves, or gives you the tools to solve, most of these problems.”
Comment from 26 Apr 2026 in “What Async Promised and What It Delivered” Good when observables are truly needed
“it's a genuinely cool library, as long as you don't spread observable around when you don't actually need them”
Comment from 4 Jun 2026 in “Angular v22” “RxJS is cool where you actually need it and want it”
Comment from 3 Jun 2026 in “Angular v22” “theres rxjs if you need observables”
Comment from 3 Nov 2025 in “Why we migrated from Python to Node.js”
What people warn about
Each mark is one comment
Hard to debug pipelines
“it can be really tricky to figure out when a pipeline is ultimately stalling”
Comment from 31 May 2026 in “Ask HN: What happened to Reactive Programming?” “the code is more complex, and harder to debug, and so it has more bugs”
Comment from 31 May 2026 in “Ask HN: What happened to Reactive Programming?” “heavily layered and a pain to debug”
Comment from 3 Jun 2026 in “Angular v22” Painful for forms and state
“It (and also React) gets worse if you add a state system like RxJS.”
Comment from 16 Feb 2026 in “JavaScript-heavy approaches are not compatible with long-term performance goals” “having to use RxJS for forms became a major pain point”
Comment from 3 Jun 2026 in “Angular v22” “rxjs was a bad choice for data management”
Comment from 4 Jun 2026 in “Angular v22” Heavy bundle, weak tree-shaking
“RXJS is also 18 MB which is irritating in a backend but completely bonkers in a frontend.”
Comment from 16 Feb 2026 in “JavaScript-heavy approaches are not compatible with long-term performance goals” “RxJS still doesn't have a proper ESM build in 2026 for even better tree-shaking”
Comment from 16 Feb 2026 in “JavaScript-heavy approaches are not compatible with long-term performance goals” Adds complexity and learning burden
“does come with the added overhead and complexity that rxjs brings”
Comment from 3 Jun 2026 in “Angular v22” “forced to learn RxJS's way-of-doing-things”
Comment from 21 Jul 2026 in “Meta's AI Models Are Powering the First Wave of Genesis Mission Projects”
Other JavaScript libraries people recommend
The four most recommended other JavaScript libraries, with the same counts for each, so you can compare like for like. The tick on each bar marks the 2 to 1 line the badge needs.
| Product | Recommend | Criticize | Approval | Months | Owned | Badge |
|---|---|---|---|---|---|---|
| jQuery | 111 | 48 | 70% | 12 | 16 yrs8 owners | Approved |
| Picknplace.js | 58 | 26 | 69% | 1 | — | — |
| Alpine.js | 50 | 16 | 76% | 11 | 1 yr4 owners | Approved |
| Effect (TypeScript library) | 38 | 16 | 70% | 10 | 2 yrs3 owners | Approved |
| RxJSThis page | 11 | 14 | 44% | 5 | — | — |
What people said
27 of the 28 comments that mention it, newest first. Each links to the original comment.
“It ruins error handling and stack traces and everything becomes an observable callback”
“leaking Observables when you need to hook into the framework's lifecycle”
“it's from the rxjs lib that I avoided cause yeah it's spaghetti.”
“forced to learn RxJS's way-of-doing-things”
“who very much likes using RxJS and the functional flavour of lodash”
“it's a genuinely cool library, as long as you don't spread observable around when you don't actually need them”
“its a challenge to learn for those not used to the pattern but its very nice”
“rxjs was a bad choice for data management”
“does come with the added overhead and complexity that rxjs brings”
“RxJS is cool where you actually need it and want it”
“having to use RxJS for forms became a major pain point”
“heavily layered and a pain to debug”
“it can be really tricky to figure out when a pipeline is ultimately stalling”
“the code is more complex, and harder to debug, and so it has more bugs”
“RxJS solves, or gives you the tools to solve, most of these problems.”
“Most things in Remeda, ramda, rxjs, the methods in the Ruby stdlib, etc. would all be great to have.”
“the behaviour of a signal is often easier to understand because it's not built from different combinators”
“I also prefer the power of RxJS over signals”
“RxJS still doesn't have a proper ESM build in 2026 for even better tree-shaking”
“As with most RxJS problems the diamond dependency problem can often be fixed/solved with the right combination of even more advanced operators”
“RXJS is also 18 MB which is irritating in a backend but completely bonkers in a frontend.”
“RxJS has an intrinsic diamond problem (multiple events fired when several sources update simultaneously), which led to occasional glitches.”
“RxJS is far more robust than signals”
“It (and also React) gets worse if you add a state system like RxJS.”
“I love rxjs but I cannot recommend it without that same calibur of tooling”
“as a user of the library it ‘just works’ in exactly the type-safe way I’d expect”
“theres rxjs if you need observables”
Counts come from 1,795,640 Hacker News comments, November 2025 to November 2026. How we count. Report a mistake.