I understand how to zoom a small canvas to make a big canvas with chunky, rather than blurry, pixels.
Is there any way to make a whole webpage display with chunky 2x2 or 3x3 pixels? i.e. magnify it with a nearest neighbour zoom. I want to use normal HTML but pixelate it for a faux-8-bit look.
You can use an svg filter for that.
Please note this solution isn't cross-browser.
As @adroste said, it won't work on Safari (Mac/iOS) or older browsers.
You'll need to tweak it to make it look the way you want, but here is a quick example:
You can probably achieve this effect with different filters.
You can learn more about svf filter on MDN docs.