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 SvelteKit 1.55s React Router 1.56s SolidStart 1.72s Solid 2.0 1.78s Pracht 2.00s Astro 4.44s TanStack Start 5.40s Nuxt 5.68s Next.js 5.95s
Median Install Time data Framework Seconds SvelteKit 1.55s React Router 1.56s SolidStart 1.72s Solid 2.0 1.78s Pracht 2.00s Astro 4.44s TanStack Start 5.40s Nuxt 5.68s Next.js 5.95s
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.77s (v7.4.2) 3.77s (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.37s (v16.4.3) 5.37s (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.33s (v4.6.3) 5.33s (v4.6.3) Pracht — — — — — — — — — — 2.05s (v0.18.0) 2.05s (v0.18.0) 2.05s (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.57s (v8.5.1) 1.57s (v8.5.1) Solid 2.0 — — — — — — — — — — — 1.71s (v2.0.0-rc.21) 1.71s (v2.0.0-rc.21) SolidStart — — — — — — — — — — — 1.79s (v2.1.0) 1.79s (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.55s (v3.1.0) 1.55s (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.85s (v1.169.4) 4.85s (v1.169.4)
Median Cold Build Time Comparison Variance Over time Table
Median Cold Build Time data Framework Seconds Solid 2.0 0.59s Pracht 0.73s Astro 0.95s React Router 1.74s SvelteKit 1.82s TanStack Start 2.10s SolidStart 2.95s Nuxt 3.94s Next.js 5.31s
Median Cold Build Time data Framework Seconds Solid 2.0 0.59s Pracht 0.73s Astro 0.95s React Router 1.74s SvelteKit 1.82s TanStack Start 2.10s SolidStart 2.95s Nuxt 3.94s Next.js 5.31s
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.95s (v7.4.2) 0.95s (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.31s (v16.4.3) 5.31s (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.94s (v4.6.3) 3.94s (v4.6.3) Pracht — — — — — — — — — — 0.73s (v0.18.0) 0.73s (v0.18.0) 0.73s (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.74s (v8.5.1) 1.74s (v8.5.1) Solid 2.0 — — — — — — — — — — — 0.59s (v2.0.0-rc.21) 0.59s (v2.0.0-rc.21) SolidStart — — — — — — — — — — — 2.95s (v2.1.0) 2.95s (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.82s (v3.1.0) 1.82s (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) 2.10s (v1.169.4) 2.10s (v1.169.4)
Median Warm Build Time Comparison Variance Over time Table
Median Warm Build Time data Framework Seconds Solid 2.0 0.54s Pracht 0.72s Astro 0.93s React Router 1.65s SvelteKit 1.66s TanStack Start 1.87s Next.js 2.24s SolidStart 2.81s Nuxt 3.92s
Median Warm Build Time data Framework Seconds Solid 2.0 0.54s Pracht 0.72s Astro 0.93s React Router 1.65s SvelteKit 1.66s TanStack Start 1.87s Next.js 2.24s SolidStart 2.81s Nuxt 3.92s
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.93s (v7.4.2) 0.93s (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.24s (v16.4.3) 2.24s (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.92s (v4.6.3) 3.92s (v4.6.3) Pracht — — — — — — — — — — 0.72s (v0.18.0) 0.72s (v0.18.0) 0.72s (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.65s (v8.5.1) 1.65s (v8.5.1) Solid 2.0 — — — — — — — — — — — 0.54s (v2.0.0-rc.21) 0.54s (v2.0.0-rc.21) SolidStart — — — — — — — — — — — 2.81s (v2.1.0) 2.81s (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.66s (v3.1.0) 1.66s (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.87s (v1.169.4) 1.87s (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.83s Pracht 0.84s React Router 1.05s SvelteKit 1.26s Astro 1.72s TanStack Start 1.75s Next.js 2.22s Nuxt 2.48s SolidStart 2.63s
Median Dev Server Startup Time data Framework Seconds Solid 2.0 0.83s Pracht 0.84s React Router 1.05s SvelteKit 1.26s Astro 1.72s TanStack Start 1.75s Next.js 2.22s Nuxt 2.48s SolidStart 2.63s
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.72s (v7.4.2) 1.72s (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.22s (v16.4.3) 2.22s (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.48s (v4.6.3) 2.48s (v4.6.3) Pracht — — — — — — — — — — 0.84s (v0.18.0) 0.84s (v0.18.0) 0.84s (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.05s (v8.5.1) 1.05s (v8.5.1) Solid 2.0 — — — — — — — — — — — 0.83s (v2.0.0-rc.21) 0.83s (v2.0.0-rc.21) SolidStart — — — — — — — — — — — 2.63s (v2.1.0) 2.63s (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.26s (v3.1.0) 1.26s (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.75s (v1.169.4) 1.75s (v1.169.4)
Methodology: Core-JS Polyfills .
Methodology: Browser Baseline .
Methodology: Minimum Node Version .