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.30s SvelteKit 1.53s Solid 2.0 1.80s SolidStart 2.13s Pracht 2.15s Astro 4.05s Nuxt 5.60s TanStack Start 5.79s Next.js 6.40s
Median Install Time data Framework Seconds React Router 1.30s SvelteKit 1.53s Solid 2.0 1.80s SolidStart 2.13s Pracht 2.15s Astro 4.05s Nuxt 5.60s TanStack Start 5.79s Next.js 6.40s
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.60s (v7.4.2) 3.60s (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.75s (v16.4.3) 5.75s (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.13s (v4.6.3) 5.13s (v4.6.3) Pracht — — — — — — — — — — 2.12s (v0.18.0) 2.12s (v0.18.0) 2.12s (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.37s (v8.5.1) 1.37s (v8.5.1) Solid 2.0 — — — — — — — — — — — 1.74s (v2.0.0-rc.21) 1.74s (v2.0.0-rc.21) SolidStart — — — — — — — — — — — 1.98s (v2.1.0) 1.98s (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.50s (v3.1.0) 1.50s (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) 5.12s (v1.169.4) 5.12s (v1.169.4)
Median Cold Build Time Comparison Variance Over time Table
Median Cold Build Time data Framework Seconds Pracht 0.65s Solid 2.0 0.65s Astro 0.99s React Router 1.67s SvelteKit 1.84s TanStack Start 2.16s SolidStart 3.16s Nuxt 4.18s Next.js 5.63s
Median Cold Build Time data Framework Seconds Pracht 0.65s Solid 2.0 0.65s Astro 0.99s React Router 1.67s SvelteKit 1.84s TanStack Start 2.16s SolidStart 3.16s Nuxt 4.18s Next.js 5.63s
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.99s (v7.4.2) 0.99s (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.63s (v16.4.3) 5.63s (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) 4.18s (v4.6.3) 4.18s (v4.6.3) Pracht — — — — — — — — — — 0.65s (v0.18.0) 0.65s (v0.18.0) 0.65s (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.67s (v8.5.1) 1.67s (v8.5.1) Solid 2.0 — — — — — — — — — — — 0.65s (v2.0.0-rc.21) 0.65s (v2.0.0-rc.21) SolidStart — — — — — — — — — — — 3.16s (v2.1.0) 3.16s (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.84s (v3.1.0) 1.84s (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.16s (v1.169.4) 2.16s (v1.169.4)
Median Warm Build Time Comparison Variance Over time Table
Median Warm Build Time data Framework Seconds Solid 2.0 0.61s Pracht 0.64s Astro 0.92s SvelteKit 1.69s React Router 1.69s TanStack Start 1.93s Next.js 2.40s SolidStart 3.01s Nuxt 3.95s
Median Warm Build Time data Framework Seconds Solid 2.0 0.61s Pracht 0.64s Astro 0.92s SvelteKit 1.69s React Router 1.69s TanStack Start 1.93s Next.js 2.40s SolidStart 3.01s Nuxt 3.95s
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.92s (v7.4.2) 0.92s (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.40s (v16.4.3) 2.40s (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.95s (v4.6.3) 3.95s (v4.6.3) Pracht — — — — — — — — — — 0.64s (v0.18.0) 0.64s (v0.18.0) 0.64s (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.69s (v8.5.1) 1.69s (v8.5.1) Solid 2.0 — — — — — — — — — — — 0.61s (v2.0.0-rc.21) 0.61s (v2.0.0-rc.21) SolidStart — — — — — — — — — — — 3.01s (v2.1.0) 3.01s (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.69s (v3.1.0) 1.69s (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.93s (v1.169.4) 1.93s (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.84s Pracht 0.90s React Router 1.10s SvelteKit 1.33s Astro 1.61s Next.js 2.03s TanStack Start 2.33s Nuxt 2.65s SolidStart 3.07s
Median Dev Server Startup Time data Framework Seconds Solid 2.0 0.84s Pracht 0.90s React Router 1.10s SvelteKit 1.33s Astro 1.61s Next.js 2.03s TanStack Start 2.33s Nuxt 2.65s SolidStart 3.07s
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.61s (v7.4.2) 1.61s (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.03s (v16.4.3) 2.03s (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.65s (v4.6.3) 2.65s (v4.6.3) Pracht — — — — — — — — — — 0.90s (v0.18.0) 0.90s (v0.18.0) 0.90s (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.10s (v8.5.1) 1.10s (v8.5.1) Solid 2.0 — — — — — — — — — — — 0.84s (v2.0.0-rc.21) 0.84s (v2.0.0-rc.21) SolidStart — — — — — — — — — — — 3.07s (v2.1.0) 3.07s (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.33s (v3.1.0) 1.33s (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) 2.33s (v1.169.4) 2.33s (v1.169.4)
Methodology: Core-JS Polyfills .
Methodology: Browser Baseline .
Methodology: Minimum Node Version .