Dev Time benchmarks use starter projects; see the Dev Time methodology for setup details.
We count dependencies in three passes, starting with the framework package, then its first-party packages, and finally the default starter project from the framework’s CLI or documentation.
The meta-framework package itself, for example, @sveltejs/kit.
Core Package Dependencies Comparison Table
Core Package Dependencies data Framework Production Development Astro 52 25 Next.js 6 0 Nuxt 66 13 Pracht 3 2 React Router 23 24 SolidStart 24 5 Solid 2.0 4 0 SvelteKit 8 15 TanStack Start 9 14
Looking at a meta-framework’s first-party packages. For @sveltejs/kit, this means packages maintained by the meta-framework authors that are needed to run a project, for example, svelte.
First-Party Dependencies Comparison Table
First-Party Dependencies data Framework Production Development Astro 1 1 Next.js 1 1 Nuxt 1 0 Pracht 2 2 React Router 3 1 SolidStart 4 0 Solid 2.0 4 4 SvelteKit 0 5 TanStack Start 7 1
First-Party Duplicate Dependencies Comparison Over time Table
First-Party Duplicate Dependencies data Framework Dependency count SvelteKit 1 TanStack Start 3 Pracht 4 React Router 5 SolidStart 6 Solid 2.0 9 Next.js 12 Astro 14 Nuxt 76
Astro Next.js Nuxt Pracht React Router Solid 2.0 SolidStart SvelteKit TanStack Start
First-Party Duplicate Dependencies by month, using the version current on the first of each month, then the latest results Framework Dec 2025 Jan 2026 Feb 2026 Mar 2026 Apr 2026 May 2026 Jun 2026 Jul 2026 Aug 2026 Sep 2026 Oct 2026 Nov 2026 Latest Astro — — — — — — — — 11 (v7.1.6) 13 (v7.2.10) 13 (v7.2.10) 14 (v7.4.2) 14 (v7.4.2) Next.js — 11 (v16.1.1) 11 (v16.1.1) 11 (v16.1.1) 11 (v16.1.1) 11 (v16.1.1) 11 (v16.1.1) 11 (v16.1.1) 11 (v16.2.12) 11 (v16.2.12) 12 (v16.3.8) 12 (v16.4.3) 12 (v16.4.3) Nuxt — 63 (v4.2.2) 63 (v4.2.2) 59 (v4.3.1) 59 (v4.3.1) 59 (v4.3.1) 59 (v4.3.1) 141 (v4.4.8) 141 (v4.4.8) 85 (v4.5.2) 85 (v4.5.2) 76 (v4.6.3) 76 (v4.6.3) Pracht — — — — — — — — — — 4 (v0.18.0) 4 (v0.18.0) 4 (v0.18.0) React Router — 9 (v7.11.0) 9 (v7.12.0) 9 (v7.12.0) 9 (v7.13.2) 9 (v7.14.2) 9 (v7.16.0) 9 (v7.16.0) 9 (v7.16.0) 9 (v7.16.0) 5 (v8.4.0) 5 (v8.5.1) 5 (v8.5.1) Solid 2.0 — — — — — — — — — — — 9 (v2.0.0-rc.21) 9 (v2.0.0-rc.21) SolidStart — — — — — — — — — — — 6 (v2.1.0) 6 (v2.1.0) SvelteKit — — — — 2 (v2.55.0) 1 (v2.58.0) 2 (v2.61.1) 1 (v2.68.0) 1 (v2.69.3) 2 (v2.70.3) 2 (v2.70.3) 1 (v3.1.0) 1 (v3.1.0) TanStack Start — 7 (v1.145.3) 5 (v1.156.0) 12 (v1.162.9) 7 (v1.166.18) 7 (v1.166.18) 26 (v1.167.65) 26 (v1.167.65) 26 (v1.167.65) 26 (v1.167.65) 19 (v1.168.59) 3 (v1.169.4) 3 (v1.169.4)
Finally, we look at the complete dependency footprint of the default starter
project, including third-party packages selected by its CLI or documented setup.
Starter Dependencies Comparison Table
Starter Dependencies data Framework Production Development Astro 1 2 Next.js 3 6 Nuxt 3 3 Pracht 2 6 React Router 6 9 SolidStart 6 1 Solid 2.0 4 11 SvelteKit 0 8 TanStack Start 14 12
Starter Project · Duplicate Dependencies Comparison Over time Table
Starter Project · Duplicate Dependencies data Framework Duplicates SvelteKit 1 Pracht 4 React Router 5 Solid 2.0 9 Next.js 12 Astro 14 SolidStart 23 TanStack Start 37 Nuxt 76
Astro Next.js Nuxt Pracht React Router Solid 2.0 SolidStart SvelteKit TanStack Start
Starter Project · Duplicate Dependencies by month, using the version current on the first of each month, then the latest results Framework Dec 2025 Jan 2026 Feb 2026 Mar 2026 Apr 2026 May 2026 Jun 2026 Jul 2026 Aug 2026 Sep 2026 Oct 2026 Nov 2026 Latest Astro — — — — — — — — 11 (v7.1.6) 13 (v7.2.10) 13 (v7.2.10) 14 (v7.4.2) 14 (v7.4.2) Next.js — 12 (v16.1.1) 12 (v16.1.1) 12 (v16.1.1) 12 (v16.1.1) 12 (v16.1.1) 12 (v16.1.1) 12 (v16.1.1) 14 (v16.2.12) 14 (v16.2.12) 14 (v16.3.8) 12 (v16.4.3) 12 (v16.4.3) Nuxt — 63 (v4.2.2) 63 (v4.2.2) 59 (v4.3.1) 59 (v4.3.1) 59 (v4.3.1) 59 (v4.3.1) 141 (v4.4.8) 141 (v4.4.8) 85 (v4.5.2) 85 (v4.5.2) 76 (v4.6.3) 76 (v4.6.3) Pracht — — — — — — — — — — 4 (v0.18.0) 4 (v0.18.0) 4 (v0.18.0) React Router — 9 (v7.11.0) 9 (v7.12.0) 9 (v7.12.0) 9 (v7.13.2) 9 (v7.14.2) 9 (v7.16.0) 9 (v7.16.0) 9 (v7.16.0) 9 (v7.16.0) 6 (v8.4.0) 5 (v8.5.1) 5 (v8.5.1) Solid 2.0 — — — — — — — — — — — 9 (v2.0.0-rc.21) 9 (v2.0.0-rc.21) SolidStart — — — — — — — — — — — 23 (v2.1.0) 23 (v2.1.0) SvelteKit — — — — 2 (v2.55.0) 1 (v2.58.0) 2 (v2.61.1) 1 (v2.68.0) 1 (v2.69.3) 2 (v2.70.3) 2 (v2.70.3) 1 (v3.1.0) 1 (v3.1.0) TanStack Start — 14 (v1.145.3) 12 (v1.156.0) 18 (v1.162.9) 47 (v1.166.18) 47 (v1.166.18) 44 (v1.167.65) 44 (v1.167.65) 44 (v1.167.65) 44 (v1.167.65) 37 (v1.168.59) 37 (v1.169.4) 37 (v1.169.4)
Methodology: Node Modules Size .
Node Modules Size Comparison Over time Table
Node Modules Size data Framework MB SvelteKit 88.32 MB React Router 109.34 MB Pracht 132.55 MB SolidStart 149.16 MB Solid 2.0 149.94 MB Astro 204.21 MB Nuxt 246.12 MB TanStack Start 274.09 MB Next.js 463.42 MB
Astro Next.js Nuxt Pracht React Router Solid 2.0 SolidStart SvelteKit TanStack Start
Node Modules Size by month, using the version current on the first of each month, then the latest results Framework Dec 2025 Jan 2026 Feb 2026 Mar 2026 Apr 2026 May 2026 Jun 2026 Jul 2026 Aug 2026 Sep 2026 Oct 2026 Nov 2026 Latest Astro — — — — — — — — 207.94 MB (v7.1.6) 207.63 MB (v7.2.10) 207.63 MB (v7.2.10) 204.21 MB (v7.4.2) 204.21 MB (v7.4.2) Next.js — 560.05 MB (v16.1.1) 560.05 MB (v16.1.1) 560.05 MB (v16.1.1) 560.05 MB (v16.1.1) 560.05 MB (v16.1.1) 560.05 MB (v16.1.1) 560.05 MB (v16.1.1) 451.10 MB (v16.2.12) 451.10 MB (v16.2.12) 452.72 MB (v16.3.8) 463.42 MB (v16.4.3) 463.42 MB (v16.4.3) Nuxt — 208.80 MB (v4.2.2) 208.80 MB (v4.2.2) 202.57 MB (v4.3.1) 202.57 MB (v4.3.1) 202.57 MB (v4.3.1) 202.57 MB (v4.3.1) 236.82 MB (v4.4.8) 236.82 MB (v4.4.8) 242.32 MB (v4.5.2) 242.32 MB (v4.5.2) 246.12 MB (v4.6.3) 246.12 MB (v4.6.3) Pracht — — — — — — — — — — 132.55 MB (v0.18.0) 132.55 MB (v0.18.0) 132.55 MB (v0.18.0) React Router — 115.95 MB (v7.11.0) 115.99 MB (v7.12.0) 115.99 MB (v7.12.0) 116.15 MB (v7.13.2) 116.19 MB (v7.14.2) 116.27 MB (v7.16.0) 116.27 MB (v7.16.0) 116.27 MB (v7.16.0) 116.27 MB (v7.16.0) 108.68 MB (v8.4.0) 109.34 MB (v8.5.1) 109.34 MB (v8.5.1) Solid 2.0 — — — — — — — — — — — 149.94 MB (v2.0.0-rc.21) 149.94 MB (v2.0.0-rc.21) SolidStart — — — — — — — — — — — 149.16 MB (v2.1.0) 149.16 MB (v2.1.0) SvelteKit — — — — 94.96 MB (v2.55.0) 98.44 MB (v2.58.0) 98.14 MB (v2.61.1) 95.50 MB (v2.68.0) 95.59 MB (v2.69.3) 96.43 MB (v2.70.3) 96.43 MB (v2.70.3) 88.32 MB (v3.1.0) 88.32 MB (v3.1.0) TanStack Start — 234.76 MB (v1.145.3) 213.39 MB (v1.156.0) 219.90 MB (v1.162.9) 267.98 MB (v1.166.18) 267.98 MB (v1.166.18) 243.71 MB (v1.167.65) 243.71 MB (v1.167.65) 243.71 MB (v1.167.65) 243.71 MB (v1.167.65) 231.89 MB (v1.168.59) 274.09 MB (v1.169.4) 274.09 MB (v1.169.4)
Methodology: Build and Install Times .
Median Install Time Comparison Variance Over time Table
Median Install Time data Framework Seconds React Router 1.52s Solid 2.0 1.62s SvelteKit 1.63s SolidStart 1.88s Pracht 2.01s Astro 3.97s TanStack Start 5.22s Nuxt 5.36s Next.js 6.33s
Median Install Time data Framework Seconds React Router 1.52s Solid 2.0 1.62s SvelteKit 1.63s SolidStart 1.88s Pracht 2.01s Astro 3.97s TanStack Start 5.22s Nuxt 5.36s Next.js 6.33s
Astro Next.js Nuxt Pracht React Router Solid 2.0 SolidStart SvelteKit TanStack Start
Median Install Time by month, using the version current on the first of each month, then the latest results Framework Dec 2025 Jan 2026 Feb 2026 Mar 2026 Apr 2026 May 2026 Jun 2026 Jul 2026 Aug 2026 Sep 2026 Oct 2026 Nov 2026 Latest Astro — — — — — — — — 3.90s (v7.1.6) 3.35s (v7.2.10) 3.35s (v7.2.10) 3.50s (v7.4.2) 3.50s (v7.4.2) Next.js — 6.11s (v16.1.1) 6.11s (v16.1.1) 6.11s (v16.1.1) 6.11s (v16.1.1) 6.11s (v16.1.1) 6.11s (v16.1.1) 6.11s (v16.1.1) 5.30s (v16.2.12) 5.30s (v16.2.12) 5.92s (v16.3.8) 5.56s (v16.4.3) 5.56s (v16.4.3) Nuxt — 5.33s (v4.2.2) 5.33s (v4.2.2) 4.81s (v4.3.1) 4.81s (v4.3.1) 4.81s (v4.3.1) 4.81s (v4.3.1) 5.26s (v4.4.8) 5.26s (v4.4.8) 5.45s (v4.5.2) 5.45s (v4.5.2) 5.05s (v4.6.3) 5.05s (v4.6.3) Pracht — — — — — — — — — — 1.85s (v0.18.0) 1.85s (v0.18.0) 1.85s (v0.18.0) React Router — 1.29s (v7.11.0) 1.40s (v7.12.0) 1.40s (v7.12.0) 1.71s (v7.13.2) 1.28s (v7.14.2) 1.46s (v7.16.0) 1.46s (v7.16.0) 1.46s (v7.16.0) 1.46s (v7.16.0) 1.40s (v8.4.0) 1.50s (v8.5.1) 1.50s (v8.5.1) Solid 2.0 — — — — — — — — — — — 1.61s (v2.0.0-rc.21) 1.61s (v2.0.0-rc.21) SolidStart — — — — — — — — — — — 1.83s (v2.1.0) 1.83s (v2.1.0) SvelteKit — — — — 1.61s (v2.55.0) 1.63s (v2.58.0) 1.53s (v2.61.1) 1.36s (v2.68.0) 1.49s (v2.69.3) 1.55s (v2.70.3) 1.55s (v2.70.3) 1.60s (v3.1.0) 1.60s (v3.1.0) TanStack Start — 4.67s (v1.145.3) 1.67s (v1.156.0) 4.23s (v1.162.9) 4.64s (v1.166.18) 4.64s (v1.166.18) 4.43s (v1.167.65) 4.43s (v1.167.65) 4.43s (v1.167.65) 4.43s (v1.167.65) 1.71s (v1.168.59) 4.63s (v1.169.4) 4.63s (v1.169.4)
Median Cold Build Time Comparison Variance Over time Table
Median Cold Build Time data Framework Seconds Solid 2.0 0.57s Pracht 0.67s Astro 0.88s React Router 1.62s SvelteKit 1.70s TanStack Start 1.81s SolidStart 3.10s Nuxt 3.84s Next.js 5.51s
Median Cold Build Time data Framework Seconds Solid 2.0 0.57s Pracht 0.67s Astro 0.88s React Router 1.62s SvelteKit 1.70s TanStack Start 1.81s SolidStart 3.10s Nuxt 3.84s Next.js 5.51s
Astro Next.js Nuxt Pracht React Router Solid 2.0 SolidStart SvelteKit TanStack Start
Median Cold Build Time by month, using the version current on the first of each month, then the latest results Framework Dec 2025 Jan 2026 Feb 2026 Mar 2026 Apr 2026 May 2026 Jun 2026 Jul 2026 Aug 2026 Sep 2026 Oct 2026 Nov 2026 Latest Astro — — — — — — — — 0.84s (v7.1.6) 0.96s (v7.2.10) 0.96s (v7.2.10) 0.88s (v7.4.2) 0.88s (v7.4.2) Next.js — 5.02s (v16.1.1) 5.02s (v16.1.1) 5.02s (v16.1.1) 5.02s (v16.1.1) 5.02s (v16.1.1) 5.02s (v16.1.1) 5.02s (v16.1.1) 5.19s (v16.2.12) 5.19s (v16.2.12) 6.79s (v16.3.8) 5.51s (v16.4.3) 5.51s (v16.4.3) Nuxt — 3.97s (v4.2.2) 3.97s (v4.2.2) 3.67s (v4.3.1) 3.67s (v4.3.1) 3.67s (v4.3.1) 3.67s (v4.3.1) 4.25s (v4.4.8) 4.25s (v4.4.8) 3.44s (v4.5.2) 3.44s (v4.5.2) 3.84s (v4.6.3) 3.84s (v4.6.3) Pracht — — — — — — — — — — 0.67s (v0.18.0) 0.67s (v0.18.0) 0.67s (v0.18.0) React Router — 1.73s (v7.11.0) 1.58s (v7.12.0) 1.58s (v7.12.0) 1.79s (v7.13.2) 1.65s (v7.14.2) 1.61s (v7.16.0) 1.61s (v7.16.0) 1.61s (v7.16.0) 1.61s (v7.16.0) 2.13s (v8.4.0) 1.62s (v8.5.1) 1.62s (v8.5.1) Solid 2.0 — — — — — — — — — — — 0.57s (v2.0.0-rc.21) 0.57s (v2.0.0-rc.21) SolidStart — — — — — — — — — — — 3.10s (v2.1.0) 3.10s (v2.1.0) SvelteKit — — — — 1.76s (v2.55.0) 1.93s (v2.58.0) 1.89s (v2.61.1) 2.16s (v2.68.0) 2.32s (v2.69.3) 2.10s (v2.70.3) 2.10s (v2.70.3) 1.70s (v3.1.0) 1.70s (v3.1.0) TanStack Start — 5.95s (v1.145.3) 5.20s (v1.156.0) 6.16s (v1.162.9) 1.89s (v1.166.18) 1.89s (v1.166.18) 2.08s (v1.167.65) 2.08s (v1.167.65) 2.08s (v1.167.65) 2.08s (v1.167.65) 2.04s (v1.168.59) 1.81s (v1.169.4) 1.81s (v1.169.4)
Median Warm Build Time Comparison Variance Over time Table
Median Warm Build Time data Framework Seconds Solid 2.0 0.55s Pracht 0.66s Astro 0.81s SvelteKit 1.50s React Router 1.68s TanStack Start 1.85s Next.js 2.28s SolidStart 2.93s Nuxt 3.71s
Median Warm Build Time data Framework Seconds Solid 2.0 0.55s Pracht 0.66s Astro 0.81s SvelteKit 1.50s React Router 1.68s TanStack Start 1.85s Next.js 2.28s SolidStart 2.93s Nuxt 3.71s
Astro Next.js Nuxt Pracht React Router Solid 2.0 SolidStart SvelteKit TanStack Start
Median Warm Build Time by month, using the version current on the first of each month, then the latest results Framework Dec 2025 Jan 2026 Feb 2026 Mar 2026 Apr 2026 May 2026 Jun 2026 Jul 2026 Aug 2026 Sep 2026 Oct 2026 Nov 2026 Latest Astro — — — — — — — — 0.82s (v7.1.6) 1.02s (v7.2.10) 1.02s (v7.2.10) 0.81s (v7.4.2) 0.81s (v7.4.2) Next.js — 5.04s (v16.1.1) 5.04s (v16.1.1) 5.04s (v16.1.1) 5.04s (v16.1.1) 5.04s (v16.1.1) 5.04s (v16.1.1) 5.04s (v16.1.1) 5.01s (v16.2.12) 5.01s (v16.2.12) 2.76s (v16.3.8) 2.28s (v16.4.3) 2.28s (v16.4.3) Nuxt — 3.95s (v4.2.2) 3.95s (v4.2.2) 3.60s (v4.3.1) 3.60s (v4.3.1) 3.60s (v4.3.1) 3.60s (v4.3.1) 4.05s (v4.4.8) 4.05s (v4.4.8) 3.26s (v4.5.2) 3.26s (v4.5.2) 3.71s (v4.6.3) 3.71s (v4.6.3) Pracht — — — — — — — — — — 0.66s (v0.18.0) 0.66s (v0.18.0) 0.66s (v0.18.0) React Router — 1.62s (v7.11.0) 1.58s (v7.12.0) 1.58s (v7.12.0) 1.75s (v7.13.2) 1.59s (v7.14.2) 1.63s (v7.16.0) 1.63s (v7.16.0) 1.63s (v7.16.0) 1.63s (v7.16.0) 2.10s (v8.4.0) 1.68s (v8.5.1) 1.68s (v8.5.1) Solid 2.0 — — — — — — — — — — — 0.55s (v2.0.0-rc.21) 0.55s (v2.0.0-rc.21) SolidStart — — — — — — — — — — — 2.93s (v2.1.0) 2.93s (v2.1.0) SvelteKit — — — — 1.62s (v2.55.0) 1.78s (v2.58.0) 1.72s (v2.61.1) 2.16s (v2.68.0) 2.18s (v2.69.3) 1.95s (v2.70.3) 1.95s (v2.70.3) 1.50s (v3.1.0) 1.50s (v3.1.0) TanStack Start — 5.73s (v1.145.3) 5.19s (v1.156.0) 5.75s (v1.162.9) 1.70s (v1.166.18) 1.70s (v1.166.18) 1.90s (v1.167.65) 1.90s (v1.167.65) 1.90s (v1.167.65) 1.90s (v1.167.65) 2.05s (v1.168.59) 1.85s (v1.169.4) 1.85s (v1.169.4)
Methodology: Dev Server Startup .
Median Dev Server Startup Time Comparison Variance Over time Table
Median Dev Server Startup Time data Framework Seconds Solid 2.0 0.86s Pracht 0.87s React Router 1.00s SvelteKit 1.38s Astro 1.53s TanStack Start 1.89s Next.js 2.30s SolidStart 2.60s Nuxt 2.66s
Median Dev Server Startup Time data Framework Seconds Solid 2.0 0.86s Pracht 0.87s React Router 1.00s SvelteKit 1.38s Astro 1.53s TanStack Start 1.89s Next.js 2.30s SolidStart 2.60s Nuxt 2.66s
Astro Next.js Nuxt Pracht React Router Solid 2.0 SolidStart SvelteKit TanStack Start
Median Dev Server Startup Time by month, using the version current on the first of each month, then the latest results Framework Dec 2025 Jan 2026 Feb 2026 Mar 2026 Apr 2026 May 2026 Jun 2026 Jul 2026 Aug 2026 Sep 2026 Oct 2026 Nov 2026 Latest Astro — — — — — — — — 1.34s (v7.1.6) 1.22s (v7.2.10) 1.22s (v7.2.10) 1.53s (v7.4.2) 1.53s (v7.4.2) Next.js — 2.64s (v16.1.1) 2.64s (v16.1.1) 2.64s (v16.1.1) 2.64s (v16.1.1) 2.64s (v16.1.1) 2.64s (v16.1.1) 2.64s (v16.1.1) 2.18s (v16.2.12) 2.18s (v16.2.12) 2.18s (v16.3.8) 2.30s (v16.4.3) 2.30s (v16.4.3) Nuxt — 2.59s (v4.2.2) 2.59s (v4.2.2) 2.36s (v4.3.1) 2.36s (v4.3.1) 2.36s (v4.3.1) 2.36s (v4.3.1) 2.43s (v4.4.8) 2.43s (v4.4.8) 2.45s (v4.5.2) 2.45s (v4.5.2) 2.66s (v4.6.3) 2.66s (v4.6.3) Pracht — — — — — — — — — — 0.87s (v0.18.0) 0.87s (v0.18.0) 0.87s (v0.18.0) React Router — 0.83s (v7.11.0) 0.85s (v7.12.0) 0.85s (v7.12.0) 0.81s (v7.13.2) 0.89s (v7.14.2) 0.77s (v7.16.0) 0.77s (v7.16.0) 0.77s (v7.16.0) 0.77s (v7.16.0) 0.95s (v8.4.0) 1.00s (v8.5.1) 1.00s (v8.5.1) Solid 2.0 — — — — — — — — — — — 0.86s (v2.0.0-rc.21) 0.86s (v2.0.0-rc.21) SolidStart — — — — — — — — — — — 2.60s (v2.1.0) 2.60s (v2.1.0) SvelteKit — — — — 1.16s (v2.55.0) 1.22s (v2.58.0) 1.29s (v2.61.1) 1.31s (v2.68.0) 1.39s (v2.69.3) 1.28s (v2.70.3) 1.28s (v2.70.3) 1.38s (v3.1.0) 1.38s (v3.1.0) TanStack Start — 3.04s (v1.145.3) 3.04s (v1.156.0) 3.06s (v1.162.9) 3.08s (v1.166.18) 3.08s (v1.166.18) 2.73s (v1.167.65) 2.73s (v1.167.65) 2.73s (v1.167.65) 2.73s (v1.167.65) 1.85s (v1.168.59) 1.89s (v1.169.4) 1.89s (v1.169.4)
Methodology: Core-JS Polyfills .
Methodology: Browser Baseline .
Methodology: Minimum Node Version .