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.42s SvelteKit 1.45s Solid 2.0 1.60s SolidStart 1.80s Pracht 2.01s Astro 4.14s TanStack Start 5.47s Nuxt 6.07s Next.js 6.49s
Median Install Time data Framework Seconds React Router 1.42s SvelteKit 1.45s Solid 2.0 1.60s SolidStart 1.80s Pracht 2.01s Astro 4.14s TanStack Start 5.47s Nuxt 6.07s Next.js 6.49s
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.61s (v7.4.2) 3.61s (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.81s (v16.4.3) 5.81s (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.63s (v4.6.3) 5.63s (v4.6.3) Pracht — — — — — — — — — — 1.92s (v0.18.0) 1.92s (v0.18.0) 1.92s (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.55s (v2.0.0-rc.21) 1.55s (v2.0.0-rc.21) SolidStart — — — — — — — — — — — 1.85s (v2.1.0) 1.85s (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.46s (v3.1.0) 1.46s (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.84s (v1.169.4) 4.84s (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.69s Astro 0.96s React Router 1.88s SvelteKit 1.96s TanStack Start 2.18s SolidStart 3.25s Nuxt 4.19s Next.js 5.73s
Median Cold Build Time data Framework Seconds Solid 2.0 0.59s Pracht 0.69s Astro 0.96s React Router 1.88s SvelteKit 1.96s TanStack Start 2.18s SolidStart 3.25s Nuxt 4.19s Next.js 5.73s
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.96s (v7.4.2) 0.96s (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.73s (v16.4.3) 5.73s (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.19s (v4.6.3) 4.19s (v4.6.3) Pracht — — — — — — — — — — 0.69s (v0.18.0) 0.69s (v0.18.0) 0.69s (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.88s (v8.5.1) 1.88s (v8.5.1) Solid 2.0 — — — — — — — — — — — 0.59s (v2.0.0-rc.21) 0.59s (v2.0.0-rc.21) SolidStart — — — — — — — — — — — 3.25s (v2.1.0) 3.25s (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.96s (v3.1.0) 1.96s (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.18s (v1.169.4) 2.18s (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.69s Astro 0.92s React Router 1.77s SvelteKit 1.82s TanStack Start 2.06s Next.js 2.44s SolidStart 3.23s Nuxt 4.05s
Median Warm Build Time data Framework Seconds Solid 2.0 0.55s Pracht 0.69s Astro 0.92s React Router 1.77s SvelteKit 1.82s TanStack Start 2.06s Next.js 2.44s SolidStart 3.23s Nuxt 4.05s
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.44s (v16.4.3) 2.44s (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) 4.05s (v4.6.3) 4.05s (v4.6.3) Pracht — — — — — — — — — — 0.69s (v0.18.0) 0.69s (v0.18.0) 0.69s (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.77s (v8.5.1) 1.77s (v8.5.1) Solid 2.0 — — — — — — — — — — — 0.55s (v2.0.0-rc.21) 0.55s (v2.0.0-rc.21) SolidStart — — — — — — — — — — — 3.23s (v2.1.0) 3.23s (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.82s (v3.1.0) 1.82s (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) 2.06s (v1.169.4) 2.06s (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.91s React Router 1.00s Astro 1.52s SvelteKit 1.53s Next.js 1.86s TanStack Start 1.95s Nuxt 2.81s SolidStart 2.82s
Median Dev Server Startup Time data Framework Seconds Solid 2.0 0.86s Pracht 0.91s React Router 1.00s Astro 1.52s SvelteKit 1.53s Next.js 1.86s TanStack Start 1.95s Nuxt 2.81s SolidStart 2.82s
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.52s (v7.4.2) 1.52s (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) 1.86s (v16.4.3) 1.86s (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.81s (v4.6.3) 2.81s (v4.6.3) Pracht — — — — — — — — — — 0.91s (v0.18.0) 0.91s (v0.18.0) 0.91s (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.82s (v2.1.0) 2.82s (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.53s (v3.1.0) 1.53s (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.95s (v1.169.4) 1.95s (v1.169.4)
Methodology: Core-JS Polyfills .
Methodology: Browser Baseline .
Methodology: Minimum Node Version .