QRコードの大きさの決まり方

https://www.qrcode.com/about/version.html
https://www.qrcode.com/about/error_correction.html
https://www.keyence.co.jp/ss/products/autoid/codereader/basic2d-qr-types.jsp

概要

QRコードの大きさは「バージョン」と呼ばれ、データ内容の量と誤り訂正レベル(L,M,Q,Hの4レベルがある)の組み合わせによって決まる。
「モデル2」仕様のQRでは、バージョン1=24セルの正方形から、バージョン40=117セルの正方形のバージョンが規格で決まっている。バージョンが1つ上がると、縦横4セルずつ大きくなる。
データ内容の格納の方法は、数字、英数字、漢字、バイナリ、混合データ……の5パターンがある。
・数字、英数字、漢字、バイナリの場合
単純に文字数またはバイト数がデータ量になる。この方式だと文字数が同じなら同じサイズのQRになる。
・混合データの場合
「文字種類・文字数・データ本体」の繰り返しがデータ内容になり、それぞれに定義されたビット数の合計がデータ量になる。
この方式だと文字数が同じでも異なるサイズのQRになる場合がある。


各モードで使える文字種類・データ量の詳細

https://www.tech-jp.com/QRCode/EncodeData.html
・数字モード
0~9の数字のみを扱える。
1文字が3.3ビット(3文字で10ビット)で符号化される。
・英数字モード
0~9の数字とアルファベット大文字とスペース等一部の記号のみを扱える。
それ以外の、例えばアルファベット小文字が入る場合は8ビット(バイナリ)モードが使われる。
1文字が5.5ビット(2文字で11ビット)で符号化される。

「0123456789」の10種類の数字
「ABCDEFGHIJKLMNOPQRSTUVWXYZ」の26種類のアルファベット大文字
「 $%*+-./:」の9種類の記号 ※スペース文字含む
……の、合計45種類。

・漢字モード
シフトJISの全角キャラクタのみが扱える。
シフトJISに特化することで、全角1文字が13ビットで符号化される。
・8ビット(バイナリ)モード
全ての文字を扱える。普通のテキストファイルと同じ形式。
1文字が8ビットで符号化される。ECIコードで指定されない限り、漢字はSJISで符号化される。
ECIコードの指定によりUTF-8などを扱うこともできる。