DATA · 데이터
QR 코드 버전별 칸 수·용량표: 주소 길이로 보는 QR 크기
QR 코드에는 버전 1(21×21칸)부터 버전 40(177×177칸)까지 크기 단계가 있고, 오류 정정 레벨에 따라 담을 수 있는 글자 수가 달라집니다. 버전·레벨별 용량을 모두 계산해 표로 정리하고, 흔한 주소 길이가 어느 버전이 되는지, 인쇄했을 때 칸 하나가 몇 mm인지까지 정리했습니다.
KKflow 데이터는 KKflow 프로젝트를 만들며 쓰고 검증한 자료를 누구나 볼 수 있게 공개하는 시리즈입니다. 이 표의 용량은 QRforge가 QR 코드를 만들 때 쓰는 라이브러리(qrcode@1.5.4)로 직접 계산한 값이며, QR 코드 표준(ISO/IEC 18004)의 용량표와 같습니다.
한눈에 보기
가장 작은 버전 1의 L 레벨에는 영문·숫자 주소를 17바이트까지 담을 수 있고, 가장 큰 버전 40의 L 레벨에는 2,953바이트까지 담을 수 있습니다. 하지만 버전이 하나 오를 때마다 한 변의 칸이 4개씩 늘어나서, 같은 크기로 인쇄하면 칸 하나가 그만큼 작아집니다. 그래서 "얼마나 담을 수 있나"보다 "가능한 한 낮은 버전으로 만들 수 있나"가 실제로는 더 중요합니다.
버전과 오류 정정 레벨
버전은 QR 코드의 크기 단계입니다. 버전 v의 한 변 칸 수는 17 + 4 × v입니다. 버전 1은 21칸, 버전 10은 57칸, 버전 40은 177칸입니다. 담는 내용이 길어지면 QR 생성기가 자동으로 더 높은 버전을 고릅니다.
오류 정정 레벨은 코드 일부가 가려지거나 더러워져도 읽을 수 있게 덧붙이는 여분의 양입니다. L·M·Q·H 네 단계가 있고, 각각 대략 7%·15%·25%·30%의 손상을 복원할 수 있습니다. 여분이 많을수록 튼튼하지만, 같은 버전에 담을 수 있는 내용은 줄어듭니다.
QRforge는 기본값으로 M을 씁니다. 가운데에 로고를 넣거나 테두리 프레임을 고르면 자동으로 H로 올립니다. 로고가 덮는 칸을 복원하려면 여분이 더 필요하기 때문입니다.
M 레벨 버전 1~10 용량
일반 인쇄물에 가장 많이 쓰는 M 레벨에서, 담는 글자 종류별로 최대 몇 글자까지 들어가는지입니다.
| 버전 | 칸 수 | 숫자 | 영숫자 | 바이트 (영문 주소) | 한글 (글자) |
|---|---|---|---|---|---|
| 1 | 21×21 | 34 | 20 | 14 | 4 |
| 2 | 25×25 | 63 | 38 | 26 | 8 |
| 3 | 29×29 | 101 | 61 | 42 | 14 |
| 4 | 33×33 | 149 | 90 | 62 | 20 |
| 5 | 37×37 | 202 | 122 | 84 | 28 |
| 6 | 41×41 | 255 | 154 | 106 | 35 |
| 7 | 45×45 | 293 | 178 | 122 | 40 |
| 8 | 49×49 | 365 | 221 | 152 | 50 |
| 9 | 53×53 | 432 | 262 | 180 | 60 |
| 10 | 57×57 | 513 | 311 | 213 | 71 |
- 숫자 — 0~9만 있는 내용(전화번호 등). 가장 많이 들어갑니다.
- 영숫자 — 숫자, 영어 대문자, 공백과
$ % * + - . / :기호만 쓸 때. - 바이트 — 소문자가 들어간 주소, 그 밖의 모든 글자. 일반적인 웹 주소는 소문자가 섞여 있어 대부분 이 모드입니다.
- 한글 — UTF-8로 담으면 한글 한 글자가 3바이트라, 바이트 용량을 3으로 나눈 값입니다.
내 주소는 몇 버전이 될까
흔히 QR 코드에 넣는 내용의 길이와, 그것이 들어가는 가장 작은 버전입니다(바이트 모드 기준).
| 담는 내용 | 바이트 | M일 때 버전 | H일 때 버전 |
|---|---|---|---|
짧은 도메인https://kk-flow.com | 19 | 2 | 3 |
블로그 글 주소https://kk-flow.com/blog/qr-code-print-guide.html | 49 | 4 | 6 |
추적 파라미터가 붙은 주소https://example.com/event/2026/autumn-sale?utm_source=poster&utm_medium=offline&utm_campaign=autumn2026 | 103 | 6 | 10 |
WiFi 정보WIFI:T:WPA;S:KKflow-Guest;P:sweetjam2026!;; | 43 | 4 | 5 |
| 한글 문장 20자 | 60 | 4 | 7 |
M 레벨에서 도메인만 넣으면 버전 2면 충분하지만, 추적용 파라미터가 줄줄이 붙은 주소는 버전 6까지 올라가고, 로고를 넣어 H가 되면 버전 10이 됩니다. 같은 크기로 인쇄한다면 한 변의 칸 수가 25칸에서 41칸(H면 57칸)으로 늘어나, 칸 하나의 크기가 절반 가까이 작아집니다. 인쇄용 QR 가이드에서 "데이터는 짧게"를 첫 번째로 꼽은 이유입니다.
인쇄했을 때 칸 하나의 크기
QR 코드 바깥에는 칸 4개 폭의 여백(콰이어트 존)이 있어야 합니다. 여백까지 포함해 정사각형 크기로 인쇄했을 때, 칸 하나가 몇 mm가 되는지 계산했습니다(인쇄 크기 ÷ (칸 수 + 8)).
| 버전 | 2cm로 인쇄 | 3cm로 인쇄 | 5cm로 인쇄 |
|---|---|---|---|
| 2 (25칸) | 0.61mm | 0.91mm | 1.52mm |
| 4 (33칸) | 0.49mm | 0.73mm | 1.22mm |
| 6 (41칸) | 0.41mm | 0.61mm | 1.02mm |
| 10 (57칸) | 0.31mm | 0.46mm | 0.77mm |
휴대폰 카메라가 칸을 구분하려면 칸이 너무 작아서는 안 됩니다. 명함처럼 2cm로 인쇄한다면 버전 10에서는 칸 하나가 0.3mm 남짓으로, 인쇄 품질이나 조명에 따라 읽기 어려워질 수 있습니다. 작은 지면일수록 낮은 버전, 즉 짧은 내용이 중요합니다.
버전 1~40 전체 용량 (바이트)
오류 정정 레벨별 바이트 모드 최대 용량입니다. 영문 주소라면 이 숫자가 곧 넣을 수 있는 글자 수입니다.
| 버전 | 한 변 칸 수 | L 약 7% 복원 | M 약 15% 복원 | Q 약 25% 복원 | H 약 30% 복원 |
|---|---|---|---|---|---|
| 1 | 21 | 17 | 14 | 11 | 7 |
| 2 | 25 | 32 | 26 | 20 | 14 |
| 3 | 29 | 53 | 42 | 32 | 24 |
| 4 | 33 | 78 | 62 | 46 | 34 |
| 5 | 37 | 106 | 84 | 60 | 44 |
| 6 | 41 | 134 | 106 | 74 | 58 |
| 7 | 45 | 154 | 122 | 86 | 64 |
| 8 | 49 | 192 | 152 | 108 | 84 |
| 9 | 53 | 230 | 180 | 130 | 98 |
| 10 | 57 | 271 | 213 | 151 | 119 |
| 11 | 61 | 321 | 251 | 177 | 137 |
| 12 | 65 | 367 | 287 | 203 | 155 |
| 13 | 69 | 425 | 331 | 241 | 177 |
| 14 | 73 | 458 | 362 | 258 | 194 |
| 15 | 77 | 520 | 412 | 292 | 220 |
| 16 | 81 | 586 | 450 | 322 | 250 |
| 17 | 85 | 644 | 504 | 364 | 280 |
| 18 | 89 | 718 | 560 | 394 | 310 |
| 19 | 93 | 792 | 624 | 442 | 338 |
| 20 | 97 | 858 | 666 | 482 | 382 |
| 21 | 101 | 929 | 711 | 509 | 403 |
| 22 | 105 | 1,003 | 779 | 565 | 439 |
| 23 | 109 | 1,091 | 857 | 611 | 461 |
| 24 | 113 | 1,171 | 911 | 661 | 511 |
| 25 | 117 | 1,273 | 997 | 715 | 535 |
| 26 | 121 | 1,367 | 1,059 | 751 | 593 |
| 27 | 125 | 1,465 | 1,125 | 805 | 625 |
| 28 | 129 | 1,528 | 1,190 | 868 | 658 |
| 29 | 133 | 1,628 | 1,264 | 908 | 698 |
| 30 | 137 | 1,732 | 1,370 | 982 | 742 |
| 31 | 141 | 1,840 | 1,452 | 1,030 | 790 |
| 32 | 145 | 1,952 | 1,538 | 1,112 | 842 |
| 33 | 149 | 2,068 | 1,628 | 1,168 | 898 |
| 34 | 153 | 2,188 | 1,722 | 1,228 | 958 |
| 35 | 157 | 2,303 | 1,809 | 1,283 | 983 |
| 36 | 161 | 2,431 | 1,911 | 1,351 | 1,051 |
| 37 | 165 | 2,563 | 1,989 | 1,423 | 1,093 |
| 38 | 169 | 2,699 | 2,099 | 1,499 | 1,139 |
| 39 | 173 | 2,809 | 2,213 | 1,579 | 1,219 |
| 40 | 177 | 2,953 | 2,331 | 1,663 | 1,273 |
자료와 계산에 대해
- 용량 — QRforge가 쓰는
qrcode@1.5.4라이브러리의 용량 계산 함수로 버전 1~40, 레벨 L·M·Q·H, 숫자·영숫자·바이트 모드를 모두 계산했습니다. 버전 1 L(바이트 17)·버전 40 L(바이트 2,953) 같은 값은 QR 코드 표준 용량표와 같고, 경계값 몇 개는 실제로 그 길이의 QR을 만들어 해당 버전에 들어가고 한 글자 더하면 넘치는 것까지 확인했습니다. - 한 가지 모드 기준 — 표는 내용 전체를 한 가지 모드로 담는다고 보고 계산했습니다. 실제 생성기는 숫자 부분과 문자 부분을 나눠 서로 다른 모드로 담기도 해서, 섞인 내용은 표보다 조금 더 들어갈 수 있습니다.
- 예시 주소 — "내 주소는 몇 버전" 표의 주소와 WiFi 정보는 길이를 보여 주기 위한 예시입니다.
- 칸 크기 — 인쇄 크기를 여백 포함 정사각형으로 보고 단순 계산한 값입니다. 생성기마다 이미지에 여백을 넣는 방식이 다를 수 있습니다.