Skip to main content

npm Download Trends: Which Frameworks Are Growing? 2026

·PkgPulse Team
0

TL;DR

React still dominates by raw numbers (50M+ weekly downloads) but its growth rate is the lowest of the major frameworks. Svelte is growing fastest in percentage terms. Solid and Qwik are growing from smaller bases. The interesting trend is meta-framework growth: Next.js, SvelteKit, Nuxt, and Astro are all growing faster than their underlying frameworks — which means the real adoption signal is framework + meta-framework combined, not the framework alone.

Key Takeaways

  • React: 50M/week — dominant but growth slowing (~8% YoY)
  • Vue: 7M/week — stable, +12% YoY, strong in Asia
  • Angular: 4.5M/week — enterprise stable, +5% YoY
  • Svelte: 1.8M/week — fastest growing major framework, +45% YoY
  • Meta-frameworks growing faster than their base frameworks in every case

The Raw Numbers (2026)

Weekly downloads (npm, 7-day average):

React ecosystem:
├── react:          50.3M    (+8% YoY)
├── react-dom:      49.8M    (+8%)
├── next:           11.2M    (+28% YoY)  ← grows faster than react
└── create-react-app: 1.4M  (-35% YoY) ← dying

Vue ecosystem:
├── vue:             7.1M    (+12% YoY)
├── nuxt:            3.1M    (+35% YoY)  ← meta-framework growing faster
└── @vitejs/plugin-vue: 4.8M (+18%)

Angular ecosystem:
├── @angular/core:   4.5M    (+5% YoY)
├── @angular/cli:    3.8M    (+4%)
└── @nguniversal/express-engine: stable

Svelte:
├── svelte:          1.8M    (+45% YoY)
├── @sveltejs/kit:   1.6M    (+55% YoY)
└── @sveltejs/adapter-*: growing proportionally

Solid.js:
├── solid-js:        420K    (+65% YoY from smaller base)
└── @solidjs/start:  180K    (+120% YoY — new meta-framework)

Qwik:
├── @builder.io/qwik: 95K    (+38% YoY)
└── @builder.io/qwik-city: 85K

Astro:
├── astro:           1.9M    (+85% YoY) ← fastest growing major framework tool

What Download Numbers Actually Mean

Raw download count: misleading in isolation
Why:

1. CI inflation: npm packages are installed in CI on every push
   → A project with 1000 contributors = 1000+ installs per day from CI alone

2. Transitive installs: create-react-app downloads react, react-dom
   → CRA downloads create inflated react counts even if nobody uses CRA

3. Legacy projects: enterprise apps that haven't migrated
   → Angular 12 apps still download @angular/core daily

Better signals:
- Download VELOCITY (week-over-week change)
- Meta-framework downloads (more real: you only install Next.js if building)
- Proportion of new projects (survey data: State of JS)

The State of JS 2025 survey (35K respondents):
- React: 83% usage (but satisfaction declining to 62%)
- Vue: 46% usage (+3% from 2024)
- Svelte: 23% usage (+8% — highest satisfaction growth)
- Angular: 41% usage (0% change — stable enterprise base)
- Solid: 9% usage (+4% — growing fast from small base)
- Astro: 29% usage (+11% — massive growth in 2025)

Meta-Framework Growth (More Meaningful)

Meta-frameworks grow when developers CHOOSE to start new projects:

Next.js:    11.2M downloads/week (+28% YoY)
SvelteKit:   1.6M downloads/week (+55% YoY) ← fastest growing
Nuxt:        3.1M downloads/week (+35% YoY)
Astro:       1.9M downloads/week (+85% YoY) ← from smaller base
Remix:       1.1M downloads/week (+22% YoY)
Gatsby:      180K downloads/week (-65% YoY) ← dying

Why meta-frameworks > base frameworks as signal:
→ You install Next.js because you're BUILDING something with React
→ You install react because your CI is running, legacy app exists,
  OR you're building something — can't tell from installs alone

Next.js vs React growth gap:
→ Next.js: +28% YoY
→ React: +8% YoY
→ Delta: Next.js is where the new React development is happening
→ The ~20% delta: React usage outside Next.js is relatively flat

The Svelte Story: Fastest Growth

Svelte trajectory:
2020: 150K weekly downloads
2022: 600K weekly downloads
2024: 1.25M weekly downloads
2026: 1.8M weekly downloads (+45% YoY)

What's driving Svelte growth:
1. SvelteKit 2.0: stable, production-ready
2. Svelte 5 "Runes": new reactivity system — devs excited, upgrading
3. Vercel adoption: SvelteKit officially supported on Vercel
4. DX reputation: consistently highest satisfaction in surveys

Svelte satisfaction (State of JS 2025): 74% positive
React satisfaction: 62% positive

The gap: Svelte developers are more satisfied with their choice.
Satisfaction scores predict future adoption better than current usage.

The Astro Surge: Content-Driven Development

Astro trajectory:
2022: 100K weekly downloads
2023: 600K weekly downloads
2024: 1.1M weekly downloads
2026: 1.9M weekly downloads (+85% YoY)

Why Astro is growing fastest:
1. Islands architecture: interactive components without full SPA overhead
2. Framework agnostic: use React, Vue, Svelte components in the same project
3. Content collections: first-class Markdown/MDX support
4. Performance by default: ships zero JavaScript unless you opt-in
5. View Transitions: native page transitions without React-Router

Use cases Astro dominates:
- Marketing sites
- Blogs and documentation
- E-commerce (with Shopify integration)
- Any content-heavy site where performance matters

Signal: Astro is taking share from:
- Gatsby (dying)
- Jekyll/Hugo (non-JS static generators)
- Plain Next.js for content sites (Astro is faster for pure content)

React's Position: Dominant But Mature

React download data tells a nuanced story:

Absolute downloads: 50.3M/week ← enormous
YoY growth: +8% ← slower than market growth

What this means:
- React is becoming infrastructure, like Node.js
- It's used in 83% of new JS projects (State of JS)
- Growth is slowing because it's already everywhere
- Satisfaction decline (62%) suggests developers want alternatives
  but migration cost is too high

The Next.js effect:
- Next.js App Router is essentially a new framework
- RSC, server actions, streaming — these are "React" by name
  but feel very different from class components
- The React of 2026 ≠ React of 2022

React's moat:
- Ecosystem depth: more libraries, more StackOverflow answers
- Hiring: "React developer" is the most common job requirement
- Large team capacity: React Meta engineers full-time on React
- This moat is real and not going anywhere soon

The Angular Flatline: Enterprise Stability

Angular data:
- Downloads: stable at ~4.5M/week
- Growth: +5% YoY (tracking inflation, not growth)
- Satisfaction: 42% (lowest of major frameworks)
- Usage retention: 92% — once you start, you stay

What this means:
- Angular is enterprise infrastructure
- Huge companies (Google, enterprise SaaS) run on Angular
- Developers don't necessarily LOVE it but the ecosystem is mature
- Angular 17+ (Signals) is genuinely improving DX but hasn't moved the needle yet

The Angular trap:
- Excellent for large teams with strict conventions
- Overkill for small teams or apps that don't need full MVVM
- If you're in Angular, migration to React/Vue is expensive
- If you're starting fresh and need "enterprise patterns": consider NestJS + Vite+React instead

Prediction: 2026 → 2028

Based on current trajectories:

React: Will remain dominant. Network effects too strong to displace.
  → Growth slowing but never going below 50% market share

Next.js: Will continue growing faster than React.
  → RSC adoption accelerating; Next.js is the default React

Svelte/SvelteKit: Continued double-digit growth.
  → Will cross 5M weekly downloads by 2028 if trajectory holds

Astro: Will level off but remain dominant for content sites.
  → The Gatsby replacement is complete; share gains slowing

Vue: Stable, global growth.
  → Strong in China/Southeast Asia; under-represented in English surveys

Solid.js: Growing but stays niche.
  → Best performance per kb but ecosystem maturity gap limits adoption

Qwik: Uncertain.
  → Resumability concept is good; adoption depends on Builder.io ecosystem

New entrant to watch: Angular with Signals.
  → If DX dramatically improves, enterprise might recommit to Angular 17+

The Solid.js Surprise: Signals Everywhere

Solid.js's most important contribution to the JavaScript ecosystem in 2025–2026 wasn't its own adoption numbers — it was its ideas. Solid grew from roughly 100K to 350K weekly downloads across 2025, a trajectory that looks impressive in percentage terms but still leaves it a clear niche player by raw count. The real story is influence: Solid's reactive primitives — signals, computeds, effects — have propagated into nearly every major framework's roadmap.

The signals model Solid pioneered is a meaningful departure from React's rendering model. Rather than re-rendering components when state changes and diffing the result, signals update DOM nodes directly. A signal is a reactive value; anything that reads it during execution automatically subscribes to it. When the signal updates, only the specific DOM expressions that depend on it re-evaluate. Components render once. This eliminates the reconciliation step for granular updates entirely, which is why Solid benchmarks outperform React for fine-grained state changes.

The ecosystem impact is visible and direct. @preact/signals brought the pattern to Preact in 2022, and Preact's adoption of signals was widely watched as a proof-of-concept for retrofitting the model onto an existing VDOM library. Vue's Vapor mode — an experimental compiler target that removes the virtual DOM entirely — is signals-influenced in its reactivity design. The React team's "React Forget" compiler (and its successor work) attempts to achieve similar performance through automatic memoization rather than a signals architecture, acknowledging that granular reactivity is a real performance concern React's current model handles imperfectly.

Angular 17's signals API, shipped in 2023–2024, is the most dramatic mainstream adoption: a decade-old enterprise framework adding a signals primitive natively, driven by the same performance and ergonomics arguments Solid made from day one.

Solid's own download numbers may plateau as a niche — the framework ecosystem gap (fewer libraries, less StackOverflow coverage, smaller community) limits greenfield adoption relative to React. But the long arc is clear: Solid proved signals work at scale, and the mainstream frameworks are absorbing the proof.

The Meta-Framework Reality: Where Actual Growth Happens

A persistent source of confusion in framework download analysis is treating base framework downloads as the primary signal. For understanding where new development is actually happening, meta-framework downloads are more meaningful — and the gap between the two tells a story that raw numbers obscure.

Next.js has approximately 5.5 million weekly downloads, growing at 28% year-over-year despite React's base growing at only 8%. The delta is explained by adoption pattern: more developers are reaching for Next.js as their React entry point rather than bootstrapping with Vite or Create React App and adding React directly. The "how do I start a React project" answer in 2026 is almost universally Next.js. This means Next.js growth is a leading indicator of React ecosystem health in a way that React's own download count no longer is.

Nuxt's 3.x rewrite turned Vue's meta-framework into a genuine production-grade option and is the primary driver of Vue 3 adoption in 2024–2026. Vue 3's own download growth is largely Nuxt-mediated — developers who previously ran Vue without a meta-framework are consolidating on Nuxt, and new Vue projects almost universally start there.

SvelteKit is Svelte's meta-framework, and the relationship is nearly inseparable: almost no one runs Svelte without SvelteKit for any production use case. Svelte's raw framework downloads undercount real adoption because SvelteKit is the actual starting point. SvelteKit's 55% year-over-year growth is the signal that matters.

Astro is the sharpest growth curve in the meta-framework space — over 400K weekly downloads growing at 85% year-over-year. Its use case is specific but large: content-focused projects (marketing sites, documentation, blogs, landing pages) where Next.js is architecturally oversized. Astro is completing the displacement of Gatsby and Jekyll that started in 2022. For developers choosing tools to build content sites in 2026, Astro has become the default answer in the same way Next.js became the default for React applications. Meta-framework downloads are the leading indicator; the underlying framework counts are the lag.

How CI/CD Pipelines Inflate Every Download Number

One of the least-discussed aspects of npm download statistics is how systematically inflated they are by automated infrastructure. Every time a CI/CD pipeline runs — a GitHub Actions workflow, a CircleCI job, a Vercel preview deployment — it typically executes npm install or pnpm install from a cold cache, installing every listed dependency fresh. A project with 50 contributors pushing to feature branches daily might generate thousands of npm installs per week from automation alone, with zero actual users involved.

This inflation is not uniform across frameworks, which is where it gets analytically interesting. React, as the dominant framework, is a transitive dependency of an enormous number of other packages and build systems. React is installed as a peer dependency by dozens of libraries that themselves appear as dependencies in projects that may not be React applications. Vue and Svelte have narrower transitive dependency footprints, so their raw download numbers are comparatively cleaner signals of direct adoption.

The create-react-app case is instructive. In its peak years, CRA itself triggered installation of React, React DOM, and a substantial dependency tree every time a new project was scaffolded. CRA's own 35% decline in downloads does not directly reduce React's install count, because the users who moved from CRA to Vite or Next.js still install React — they just install it through a different vehicle. But the calculation shows that a meaningful portion of React's 50 million weekly installs are from CI pipelines running on projects that started with CRA, which itself is now unused by developers.

The cleanest way to read through the CI noise is to look at meta-framework downloads as a proxy for developer intent. When a developer installs Next.js, they are making a deliberate choice to start or continue a project. Next.js's installation is rarely incidental or transitive in the way React's can be. Meta-framework download growth therefore correlates much more tightly with active new development than base framework downloads do.

Reading Trend Lines vs Absolute Numbers

The instinct to compare frameworks by raw weekly download count is understandable but largely misleading for assessing ecosystem trajectory. A framework at 7 million downloads growing 12% year-over-year is capturing more new project share than a framework at 50 million downloads growing 8%, even though the absolute weekly gap widens in favor of the larger framework. The growth rate difference represents where developers are choosing to build new things, and new projects are where ecosystem vitality actually lives.

Vue's trajectory illustrates this well. Its 12% year-over-year download growth in an era where React is growing at 8% suggests that Vue is gaining ground in net new project creation relative to its total install base size. Adjusted for the CI inflation problem — Vue projects tend to have fewer automated deployments per project because Vue is less common in enterprise CI-heavy environments — Vue's real adoption signal is likely stronger than raw numbers suggest. The State of JS survey data reinforces this: Vue's usage share is growing modestly but consistently, and developer satisfaction remains high enough that the growth is durable rather than driven by obligation.

Svelte's 45% growth rate is the most striking trend line, and it requires context to interpret correctly. Growing from 1.25 million to 1.8 million weekly downloads in a year is a large percentage change, but the absolute numbers still leave Svelte as a clear niche relative to React's scale. The significance is not that Svelte is displacing React — it is not, and will not at this trajectory in any near-term timeframe — but that it is growing faster than any other established framework in an already-crowded ecosystem. This kind of growth rate at Svelte's stage typically signals crossing a maturity threshold where the community is large enough to sustain itself, the ecosystem has sufficient library coverage for production use, and word-of-mouth is accelerating adoption independently of any single marketing push.

Vue's Underrepresentation in English-Language Surveys

One of the most consistent blind spots in Western-centric framework adoption data is Vue's underrepresentation in surveys conducted primarily in English. The State of JS survey draws the majority of its respondents from North America, Western Europe, and English-speaking communities. Vue is disproportionately strong in China, Taiwan, Southeast Asia, and Eastern Europe — geographies that are systematically undersampled in surveys where language and cultural context limit participation.

This creates a consistent gap between Vue's npm download numbers and its survey representation. Download data is language-neutral: an npm install is an npm install regardless of whether the developer is in Shanghai or San Francisco. Survey data skews heavily toward English-speaking respondents. Vue's 7 million weekly downloads are more globally distributed than React's 50 million or Svelte's 1.8 million, and survey-based satisfaction scores and usage percentages for Vue should be read as understating global adoption by a meaningful margin.

The implication for interpreting "Vue declining" narratives that periodically circulate in the English-language tech media is that they are often reading survey trend lines that reflect shifts in English-speaking communities rather than global ecosystem movement. In China, Vue remains the dominant framework for web development at a scale that has no direct English-language representation in the surveys most developers cite when discussing framework adoption.

Angular in Startups vs Enterprise: A Split Market

Angular's 5% year-over-year growth, combined with its 42% developer satisfaction rate, tells a story of a framework that has bifurcated sharply by company size and development context. In enterprise environments — particularly financial services, insurance, large-scale internal tools, and Google-adjacent organizations — Angular is stable and entrenched. The developer experience trade-offs that frustrate Angular developers in surveys (verbose boilerplate, steep initial learning curve, required understanding of decorators and DI before writing meaningful code) are acceptable costs in organizations with large teams where the structure and enforced conventions those same characteristics provide are genuinely valuable.

In startup environments, Angular's trajectory is materially different. "Should we use Angular?" has become a question that founders and technical leads rarely ask seriously when greenfielding a new application. The opinionated structure that works well at 50-engineer scale is architectural overhead at 3-engineer scale. React with Next.js, or increasingly Svelte with SvelteKit, has become the default consideration for greenfield startup projects because both allow rapid iteration with less ceremony. Angular's +5% growth is therefore concentrated in the enterprise segment where it is already entrenched, not in new project creation from smaller teams.

Angular 17's Signals API and standalone components represent a genuine DX improvement that the Angular team has shipped well. If Angular can maintain the architectural discipline that large enterprises value while reducing the initial complexity barrier, it has a plausible path to re-engaging smaller teams. But the satisfaction data suggests this has not happened yet — developers acknowledge the improvements but overall satisfaction still ranks lowest among the major frameworks.

Svelte and Solid as Leading Indicators of Ecosystem Direction

The way to read small-framework adoption data is not as a competitive threat to React but as a signal of what the broader ecosystem is moving toward. Frameworks that grow rapidly at small scale are often solving problems that larger frameworks haven't addressed well yet, and the solutions they pioneer frequently appear in modified form in the mainstream tools within two to three years.

Svelte's influence on React's direction is already visible in at least two ways. The Svelte compiler model — transforming component syntax into minimal, direct DOM manipulation code rather than shipping a runtime to do it — influenced the broader move toward ahead-of-time compilation in frameworks, which is part of what React's Forget compiler and the broader interest in React 19's compiler optimizations is pursuing. Svelte's template syntax, where reactivity is expressed declaratively in markup rather than through explicit state subscriptions, has influenced how developers think about what ergonomic reactivity should feel like, even in frameworks that implement it differently.

Solid's influence is more direct on the signals front: Solid shipped fine-grained reactive primitives years before Angular adopted signals natively, and the explicit subscription model Solid uses is now the reference point for the entire signals conversation across frameworks. Vue's Vapor mode, Angular's signals API, and even the React compiler discussions all acknowledge the fine-grained reactivity model that Solid made concrete. When Solid grows from 100K to 420K weekly downloads, the more important trend is that the ideas it validates become table stakes for mainstream framework evolution.

How Download Counts Get Corrupted by Package Bundling

An underappreciated source of signal distortion in npm download data is the way packages bundle or re-export their dependencies. When create-react-app was at peak popularity, each CRA installation produced installs of React, React DOM, and dozens of other packages. CRA's decline shows up dramatically in CRA's own download count, but React's download count absorbs none of that decline — React continues to be installed by every project that ever used CRA through their existing package-lock files and ongoing CI runs.

The same dynamic applies to popular boilerplates and starter templates. When a widely-used Next.js starter template lists React, Tailwind, and a specific component library as defaults, every developer who clones that template and runs install contributes installs for all of those packages regardless of whether they ultimately use them. Package counts in the long tail of dependencies are particularly susceptible to this: a package that ships as a default in three popular templates can maintain stable-looking download numbers while actual deliberate adoption has stagnated.

The practical implication for reading framework download trends is to weight individual package download counts lightly and look for corroborating signals: meta-framework downloads, State of JS usage and satisfaction scores, GitHub star velocity, and most importantly the trajectory of secondary packages in the ecosystem. A framework with a genuinely growing ecosystem will see growth not just in the core package but in its router, state management solutions, and testing utilities. When core package downloads grow while ecosystem package downloads stagnate, the growth is more likely CI and legacy inflation than new adoption.

Compare framework package health and download trends at PkgPulse.

See also: React vs Svelte and Solid.js vs Svelte, Real Market Share of JavaScript Frameworks (npm Data).

See the live comparison

View react vs. vue on PkgPulse →

The 2026 JavaScript Stack Cheatsheet

One PDF: the best package for every category (ORMs, bundlers, auth, testing, state management). Used by 500+ devs. Free, updated monthly.