By Matt Busel, who built the apps, crates and game he writes about · every number links to its source and every dataset is downloadable (methods) · corrections · featured in Kirino, gamebiz, This Week in Rust, New Mobile Life, By-Press
Next.js bundle size: 86 homepages weighed, Next ships 3.6x the JS

On this page · 10 sections
Short answer: Yes, Next.js sites are heavy. On October 26 2026 we crawled 89 big homepages and fully weighed 86 of them: the median Next.js homepage references 3,665 KB of JavaScript, the median site on anything else references 1,022 KB. That is 3.6x, and the lightest Next.js site we found (react.dev, 1,309 KB) is still heavier than the median non-Next site.
TL;DR: All 31 Next.js homepages we weighed shipped more than 1.3 MB of JavaScript, while 33 of the 55 non-Next sites came in under that line. The median Next.js page loads 39 script files and inlines 224 KB of JavaScript straight into the HTML, against 10 files and 21 KB everywhere else. A blogger just hit 100 on every Lighthouse score by ripping Next.js out, and our numbers say the framework, not the blogger, was the problem.
Key numbers
| What | Number | Source, checked Oct 26 2026 |
|---|---|---|
| Median JavaScript, Next.js homepage (31 sites) | 3,665 KB | Tensorust crawl |
| Median JavaScript, every other homepage (55 sites) | 1,022 KB | Tensorust crawl |
| Lightest Next.js homepage (react.dev) | 1,309 KB | Tensorust crawl |
| Non-Next homepages lighter than the lightest Next.js one | 33 of 55 | Tensorust crawl |
| Median script files per homepage, Next.js vs others | 39 vs 10 | Tensorust crawl |
| Median inline JavaScript in the HTML, Next.js vs others | 224 KB vs 21 KB | Tensorust crawl |
| nextjs.org, the framework's own homepage | 3,497 KB | Tensorust crawl |
| Median Astro homepage (6 sites) | 223 KB | Tensorust crawl |

The blogger was right: Next.js was the weight
The post that kicked this off hit the Hacker News front page on October 26: a developer called korindiehacker wrote "Removing Next.js Got My Blog to 100 on Every Lighthouse Category". Lighthouse is Google's built-in speed and quality audit, the score most SEO people obsess over.
We fetched that post page ourselves. It references zero script files. The landing page of the same product, bloffy.co, still runs on Next.js and references 1,531 KB of JavaScript. Same author, same company, two stacks, and the gap is the whole story.
One blog is an anecdote. So we weighed the internet's biggest homepages to see if the pattern holds. It does, and it's not close.
How we weighed 89 homepages
We fetched each homepage with a normal browser user agent, detected the framework from its fingerprints (Next.js leaves /_next/ paths and a self.__next_f payload, Astro leaves /_astro/, SvelteKit leaves /_app/immutable, and so on), then downloaded every JavaScript file the HTML points at: script tags, module preloads and dynamic imports, up to 80 files per site. Inline script blocks count too.
Sizes are uncompressed bytes, which is roughly what your phone has to parse and run after it unzips the download. Three sites (openai.com, hashicorp.com, midjourney.com) blocked most of the file fetches, so we left them out of every median; six more (Netflix, Best Buy, Zara, Wayfair, NYT, Washington Post) blocked or timed out on the homepage itself. That leaves 86 sites fully weighed: 31 on Next.js, 55 on everything else.
This measures what the homepage HTML asks for, not what loads after you scroll or click. Tag managers that inject more scripts later are not counted, which flatters the ad-heavy media sites, not Next.js. Every row is in the CSV below the article.

Every framework, ranked by what it ships
Next.js medians 3,665 KB. Nuxt, the Vue twin of Next, sits at 2,034 KB on its one site. Sites where we found no framework fingerprint median 1,212 KB. The Remix/React Router group lands at 1,075 KB. SvelteKit medians 228 KB and Astro 223 KB.
That's a 16x spread between Next.js and Astro on the median. Astro's whole pitch is "ship HTML, add JavaScript only where you need it", and cloudflare.com (195 KB), sentry.io (204 KB) and ikea.com (242 KB) all prove it works at real company scale.
The worst offenders are not all Next.js, to be fair to nobody: atlassian.com (10,981 KB) and wired.com (10,134 KB) top the list with no Next.js fingerprint at all. Bloat is a culture, not only a framework. But Next.js is the only stack where bloat is the median, not the outlier.

The Next.js tax shows up even on Vercel's own sites
Here's the part that should sting @rauchg and the Vercel team. nextjs.org, the framework's own homepage, ships 3,497 KB of JavaScript. vercel.com ships 2,202 KB. react.dev ships 1,309 KB.
Compare the neighbors. astro.build: 17 KB. rust-lang.org: 26 KB. deno.com: 133 KB. svelte.dev: 275 KB. bun.sh: 385 KB. The people who build the most popular React framework on earth can't get their own marketing page under 3 MB, and the people building the alternatives do it in a rounding error.
Our read: this is not an accident, it's the business model. Next.js is free; the hosting, the edge functions, the image optimization and the bandwidth are where Vercel bills. A framework that pushes more work through more requests is a framework that sells more platform. Nobody at Vercel will ever say that out loud, but follow the money and the incentives point one way.

Where the extra weight actually comes from
Two numbers explain most of it. First, file count: the median Next.js homepage references 39 script files against 10 for everyone else. App Router splits code into many small chunks, and the browser still has to request, parse and run all of them.
Second, inline payload: the median Next.js page stuffs 224 KB of JavaScript directly into the HTML, 11x the 21 KB everyone else inlines. That's mostly the React Server Components payload (the serialized component tree Next.js streams so React can "hydrate", meaning re-attach JavaScript to HTML the server already rendered). You pay for the page twice: once as HTML, once as data describing that HTML.
The figma.com homepage inlines 1,465 KB on its own. doordash.com inlines 1,592 KB and references 247 script files, which is so many we hit our 80-file cap and its real total is higher than the 8,492 KB we counted.

Who wins and who loses
Winners: Vercel, which bills on usage. CDN and monitoring vendors, who sell you tools to find out why the page is slow. Agencies, who bill for "performance optimization" sprints on sites that were slow by default.
Losers: anyone on a mid-range Android phone or a bad connection, which is most of the planet. And every small business whose landing page got built on Next.js because a template said so, then wonders why Google ranks it under a competitor's plain WordPress page. Lowkey the most expensive default in web dev right now.
The counter-argument from the Next.js crowd (@t3dotgg has made a career of it) is that apps need interactivity and the bytes buy you that. Fine for a dashboard. But these are homepages: text, a hero image, a signup button. A marketing page does not need 39 script files. notion.com proves you can be on Next.js and keep it tighter at 1,688 KB; most teams don't bother.
Our bet
We think the pendulum is already swinging. Static-first stacks like Astro and plain server-rendered HTML are winning the content side of the web, and within a year we expect Vercel to ship a "zero-JS by default" mode for static routes and market it as a breakthrough. It'll be the thing korindiehacker did by hand this week.
Disagree? The CSV is right there. Point the crawler at your own homepage and tell us we're wrong.
What this means for you
If your marketing site, blog or docs run on Next.js, open your homepage in Chrome DevTools, Network tab, filter JS, and add it up. If it's over 1 MB for a page that is mostly text, you're paying the tax. Move the content pages to static HTML or Astro and keep Next.js for the logged-in app where the JavaScript actually does something.
Not sure where your page stands? Run it through our free landing page teardown: 26 checks and an instant score. It's free, and if a check gets your page wrong we keep fixing the tool at no extra cost until it does what it promises.
More from us: today's tech + money news, app dev deep dives, growth, and our opinion pieces.
Sources
- Tensorust, homepage JavaScript crawl of 89 sites (data.csv), Oct 26 2026
- korindiehacker, Removing Next.js Got My Blog to 100 on Every Lighthouse Category, Oct 26 2026
- Next.js homepage, checked Oct 26 2026
- Astro homepage, checked Oct 26 2026
- Chrome for Developers, Lighthouse overview, checked Oct 26 2026
First published here on tensorust.com on Oct 26, 2026. Related: .
Up next
More on App developmentSelling on Gumroad with AI: 130 products, 0 sales. Greg is wrong130 AI-built products on Gumroad for 36 days: 87 free, 0 downloads, $0. Fresh API numbers, the Discover $100 gate, and what to do before product two.Read it next →Cite this
Free to cite and reuse under CC BY 4.0 with a link back. How it was collected: methods. Spotted an error? Corrections.
Did this answer your question?
Get the next one by email.
What my AI agents tried this week, with the real numbers: what worked, what flopped, what made money. One email when there is something worth reading.
No spam, never sold. Every email has a one-click unsubscribe.
What are people saying about this? Read and post on The Floor →
More: the author, related reading, share this, a free game
Try it yourself · Building an app?
Get an honest budget for it
Pick your app type and features, get a range from real build costs. Free, no sign-up.
In The Manual: on this topic
Explainers answer one question, short answer first. Guides walk you through it step by step.
- Explainer · Shipping and sellingLamport clock vs vector clock: what each one can actually prove
- Explainer · Shipping and sellingWhat is IDOR? The bug that lets anyone read your users' data by changing one number
- Guide · Shipping and sellingUUID as a primary key in Postgres: use uuidv7(), store it as uuid, and measure
- Explainer · Money and the economyGumroad fees, explained with real numbers
Read next
Free tool: iPhone app cost calculator → Pick an app type and features, get an honest budget range.
- Dev · Oct 19, 2026 · 11 min readSelling on Gumroad with AI: 130 products, 0 sales. Greg is wrong
- Dev · Oct 17, 2026 · 13 min readLanding page grader tested on 2,077 Show HN pages: correlation 0.00
- Dev · Oct 25, 2026 · 10 min readWinUI vs web app slop: 21 of Microsoft's 34 apps ship WebView2