Specifically I want to make a QR code to http://example.com be the favicon for all pages under http://example.com
Is the available resolution good enough? How do I scale it down? Can I chop off the single pixel white border before scaling down?
Can I pack multiple resolutions — if so what browsers would show the higher resolutions?
I ended up bundling the smallest QR code I could generate 27×27 together with 3 more sizes 54×54, 81×81, and what seemed to be the default: 108×108 using imagemagick to pack them up, roughly as described here: http://bergamini.org/computers/creating-favicon.ico-icon-files-with-imagemagick-convert.html
I did not scale them because at least Chrome and Firefox were able to scale them to their needs, and this way I did not risk messing with the information in the QR code itself. Note that the QR codes go in multiples of 27×27 and the favicons go in multiples of 16×16, hence the risk of losing information when rescaling.
I do not know what happens with IE because I don’t have access to it.
The previous answer incorrectly mentions 25×25 as the size of the image because it does not include the white pixel border on each size, which I cannot see as redundant because it serves a purpose in marking off the actual content of the QR code.
I did not research whether removing that 1-pixel white border can still allow a reader to read the QR-code against a variety of backgrounds by making use of the redundant loss-tolerance information in the QR-code.
I did not worry about pixel-resolutions or scanner distance and assumed that the user would be able to create ideal conditions for those factors.
I probably have useless QR-code favicon in the sense that it cannot be scanned right off the browser bar, but hey, it is a legitimate favicon from a non-QR perspective and if someone explicitly downloads the favicon.ico then they do have access to a full QR code 🙂
I am accepting my own answer because the other one is less sufficient and I will be happy to switch to accepting another answer if someone comes up with a better one 🙂