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.27s SvelteKit 1.40s Solid 2.0 1.82s Pracht 1.93s SolidStart 2.12s Astro 3.98s Nuxt 5.03s TanStack Start 5.70s Next.js 6.44s
Median Install Time data Framework Seconds React Router 1.27s SvelteKit 1.40s Solid 2.0 1.82s Pracht 1.93s SolidStart 2.12s Astro 3.98s Nuxt 5.03s TanStack Start 5.70s Next.js 6.44s
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.47s (v7.4.2) 3.47s (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.90s (v16.4.3) 5.90s (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) 4.84s (v4.6.3) 4.84s (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.32s (v8.5.1) 1.32s (v8.5.1) Solid 2.0 — — — — — — — — — — — 1.69s (v2.0.0-rc.21) 1.69s (v2.0.0-rc.21) SolidStart — — — — — — — — — — — 2.06s (v2.1.0) 2.06s (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.49s (v3.1.0) 1.49s (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.99s (v1.169.4) 4.99s (v1.169.4)
Median Cold Build Time Comparison Variance Over time Table
Median Cold Build Time data Framework Seconds Solid 2.0 0.60s Pracht 0.71s Astro 0.92s SvelteKit 1.63s React Router 1.70s TanStack Start 2.01s SolidStart 2.97s Nuxt 3.80s Next.js 5.16s
Median Cold Build Time data Framework Seconds Solid 2.0 0.60s Pracht 0.71s Astro 0.92s SvelteKit 1.63s React Router 1.70s TanStack Start 2.01s SolidStart 2.97s Nuxt 3.80s Next.js 5.16s
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.92s (v7.4.2) 0.92s (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.16s (v16.4.3) 5.16s (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.80s (v4.6.3) 3.80s (v4.6.3) Pracht — — — — — — — — — — 0.71s (v0.18.0) 0.71s (v0.18.0) 0.71s (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.70s (v8.5.1) 1.70s (v8.5.1) Solid 2.0 — — — — — — — — — — — 0.60s (v2.0.0-rc.21) 0.60s (v2.0.0-rc.21) SolidStart — — — — — — — — — — — 2.97s (v2.1.0) 2.97s (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.63s (v3.1.0) 1.63s (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.01s (v1.169.4) 2.01s (v1.169.4)
Median Warm Build Time Comparison Variance Over time Table
Median Warm Build Time data Framework Seconds Solid 2.0 0.56s Pracht 0.72s Astro 0.89s SvelteKit 1.47s React Router 1.66s TanStack Start 1.78s Next.js 2.19s SolidStart 2.88s Nuxt 3.60s
Median Warm Build Time data Framework Seconds Solid 2.0 0.56s Pracht 0.72s Astro 0.89s SvelteKit 1.47s React Router 1.66s TanStack Start 1.78s Next.js 2.19s SolidStart 2.88s Nuxt 3.60s
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.89s (v7.4.2) 0.89s (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.19s (v16.4.3) 2.19s (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.60s (v4.6.3) 3.60s (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.66s (v8.5.1) 1.66s (v8.5.1) Solid 2.0 — — — — — — — — — — — 0.56s (v2.0.0-rc.21) 0.56s (v2.0.0-rc.21) SolidStart — — — — — — — — — — — 2.88s (v2.1.0) 2.88s (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.47s (v3.1.0) 1.47s (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.78s (v1.169.4) 1.78s (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.89s React Router 0.96s SvelteKit 1.26s Astro 1.28s TanStack Start 1.97s Next.js 2.30s Nuxt 2.53s SolidStart 2.62s
Median Dev Server Startup Time data Framework Seconds Solid 2.0 0.83s Pracht 0.89s React Router 0.96s SvelteKit 1.26s Astro 1.28s TanStack Start 1.97s Next.js 2.30s Nuxt 2.53s SolidStart 2.62s
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.28s (v7.4.2) 1.28s (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.53s (v4.6.3) 2.53s (v4.6.3) Pracht — — — — — — — — — — 0.89s (v0.18.0) 0.89s (v0.18.0) 0.89s (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) 0.96s (v8.5.1) 0.96s (v8.5.1) Solid 2.0 — — — — — — — — — — — 0.83s (v2.0.0-rc.21) 0.83s (v2.0.0-rc.21) SolidStart — — — — — — — — — — — 2.62s (v2.1.0) 2.62s (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.97s (v1.169.4) 1.97s (v1.169.4)
Methodology: Core-JS Polyfills .
Methodology: Browser Baseline .
Methodology: Minimum Node Version .