Quick googling result that QR code can hold nearly 3kb (8 bit) data. But isn't it just using black/white dots to represent bits? If so there's no way that there's over 20,000 dots on a code.
So I'm obviously misunderstanding. Can someone explain how it works?