Calvin Liang

Control Freak’s QR Code Generator

Download

Logo

Advanced Settings
min size: 21 modules
?
A module is equivalent to the smallest square in a QR code

Appearance

Colors

Preview

Download

Templates

Why is this QR code generator better than others?

Control Freak’s QR Code Generator is a free QR code generator for nerds and perfectionists who want full control over both the technical details and visual geometry of QR codes. Unlike typical QR generators that export a single flattened SVG path, this tool generates QR codes from individual editable rectangles so every module remains editable in Figma, Illustrator, and other design tools. It supports mixed encoding to generate the most efficient QR code possible and lets you inspect data module placement to see exactly where your data is stored. You can control error correction level, mask pattern, module geometry, and per corner radius for every element. Upload a logo and the QR code intelligently wraps modules to hug around it while maintaining scannability instead of cutting a square out of the middle. Export clean, fully editable SVGs with real shapes instead of baked vectors. Built in Rust for speed and correctness.

Details & explanation

For a more detailed explanation of QR code components, please refer to the Wikipedia article .

Components of a QR code

Data Segments

Each QR code data segment begins with a 4-bit indicator that specifies the encoding mode, as shown in the table below.

Icon Indicator Encoding Bits per character
0001 Numeric 3 1⁄3
0010 Alphanumeric* 5 1⁄2
0100 Byte 8
1000 Kanji 13
*Oddly enough, the Alphanumeric mode only supports capital letters (no lowercase), which is why this generator includes an Auto Capitalize Domain feature. Since domain names are case insensitive, converting them to uppercase has no effect on how they work on the web, but it may allow the QR code segment to switch from byte mode to alphanumeric mode and reduce the number of bits needed to encode the text.

Then a character count indicator, whose bit length varies depending on the QR code version.

Number of bits in the Character Count Indicator
Encoding Ver. 1–9 Ver. 10–26 Ver. 27–40
Numeric 10 12 14
Alphanumeric 9 11 13
Byte 8 16 16
Kanji 8 10 12

The data follows immediately after.