Free Webpage Weight calculator with clear step-by-step results.
Separates text assets, which compress by roughly 70% over the wire, from images and fonts which are already compressed and do not benefit. The distinction matters because the transferred figure drives load time while the uncompressed figure drives parse and execution cost.
Transferred weight
KB = (HTML + CSS + JS) x (1 - compression) + images + fonts
Transfer time
Seconds = transferred KB x 8 / (Mbps x 1000)
Because the browser must decompress, parse and compile all of it. A 420 KB bundle compressing to 120 KB still costs the full parse and execution time, which on a mid-range phone can exceed the download time.
Under about 1 MB transferred for a content page, and under 200 KB of JavaScript. Median real-world pages are considerably heavier than that.