Binary Mode
Binary Mode (also called Byte Mode) is the most versatile of the four QR code encoding modes. Each character is represented as 8 bits (1 byte), accepting any byte value from 0x00 to 0xFF. This covers lowercase letters, Japanese text (UTF-8), emoji, and even raw binary data that other modes cannot handle.
The trade-off for versatility is lower data efficiency. While Numeric Mode encodes three digits in 10 bits, Binary Mode needs 24 bits for the same three digits. The maximum capacity is 2,953 bytes at Version 40 (177×177 modules), roughly 40% of what Numeric Mode can store in the same space.
In practice, URLs are the most common Binary Mode payload. If a URL contains lowercase letters, Binary Mode is automatically selected. Converting URLs to uppercase switches to Alphanumeric Mode, but this is not always possible when paths are case-sensitive. Japanese text in UTF-8 consumes 3 bytes per character, so long text quickly fills the available capacity.