Vercel’s Next.js v14 has shipped and (as one does) I had a look at the JavaScript footprint of the production build of Hello World:
v14 (2023): 299 kB
v13 (2022): 272 kB
v12 (2021): 228 kB
Unfortunately the same trend continues, even with a new bundler: the bundles are growing!
(and with Tailwind included by default, too)

22 replies
Previous in this series: https://www.zachleat.com/twitter/1584995586918731776/
But RSC..sorry, "Server Actions"!!!
(Nevermind that `"use client"` is still viral and can't work without extraordinary, codebase-wide discipline that Next doesn't enforce)
@slightlyoff yeah the marketing of that feature is… interesting.
[ zooms in and squints ]
But @zachleat, it's *only* (squints again) 91K on the wire!
@zachleat Is a 30+% tax rate high?
Asking for an industry.
@slightlyoff it is only 52% of the transferred page weight now (instead of 86%) since they added a web font 😅
@zachleat but zach, we’re in the era of the terabyte. surely a computer could handle a few kilobytes here or there!!!1
@exchgr I want the computers to handle my kilobytes, not the ones someone else decided I needed 😅
@zachleat lol i was being facetious, and of course as @slightlyoff is pointing out elsewhere in this thread, plenty of people run very low power devices
@zachleat If you make a bundler...you also have make stuff for it to bundle.
Otherwise it'll go hangry.
And, we all know what it's like when a bundler goes hangry!
@westbrook hulk bundler angry! hulk bundler smash mid-tier android phone!!
@zachleat "Tailwind included by default" is one of those 4 word horror stories.
@zachleat Are they still bundling the pages router for the 404 page?
@clarkgunn not sure—I didn’t test this!
@zachleat Ran webpack bundle analyzer. Their naming conventions have changed so I can't tell if router.js is the old pages router or a lib for app-router.js
Screenshot bundle sizes are uncompressed.
@zachleat Don’t frameworks usually get smaller as more efficient ways of doing things are discovered?
@SamStrong usually? Probably not. This one has some historical flavor https://www.zachleat.com/web/react-criticism/#september-2021