QR코드 오류 복원 단계(L·M·Q·H)와 인쇄 크기 정하는 법

작성

QR코드를 만들 때 고르는 '오류 복원 수준'은 코드가 일부 가려지거나 더러워져도 읽을 수 있게 하는 장치입니다. 높일수록 튼튼해지지만 그만큼 칸이 촘촘해져서, 작게 인쇄하면 오히려 읽기 어려워집니다. 내용과 단계에 따라 칸 수가 어떻게 달라지는지 직접 만들어 비교했습니다.

QR코드의 칸과 버전

QR코드는 검은 칸과 흰 칸으로 이루어진 정사각형입니다. 가장 작은 버전 1이 가로세로 21칸이고, 버전이 하나 오를 때마다 4칸씩 늘어 가장 큰 버전 40은 177칸입니다. 담을 내용이 길수록, 오류 복원 단계가 높을수록 더 큰 버전이 필요합니다. 만드는 프로그램이 내용에 맞는 가장 작은 버전을 자동으로 고릅니다.

오류 복원 단계는 네 가지입니다. 코드의 몇 %가 손상되어도 내용을 되살릴 수 있는지를 나타냅니다.

단계복원 가능한 손상이 사이트의 표시
L약 7%낮음
M약 15%보통 (기본값)
Q약 25%높음
H약 30%최고

내용과 단계에 따른 칸 수

이 사이트의 QR코드 생성이 쓰는 라이브러리로 네 가지 내용을 단계별로 만들어 가로 칸 수를 셌습니다. 바깥 여백은 뺀 숫자입니다.

내용길이LMQH
짧은 주소 https://zealot.cloud/tools/27바이트25292933
와이파이 이름·비밀번호48바이트29333741
한글 문장 34자84바이트37374549
추적용 꼬리표가 붙은 긴 주소101바이트37414957

짧은 주소를 L로 만들면 25칸(버전 2)이지만, 긴 주소를 H로 만들면 57칸(버전 10)이 됩니다. 가로세로가 2.3배, 칸 개수로는 5배가 넘습니다. 같은 크기로 인쇄하면 칸 하나의 크기가 그만큼 작아집니다.

짧은 주소를 오류 복원 L로 만든 QR코드. 칸이 큼직하다
짧은 주소 · L · 25칸
긴 주소를 오류 복원 H로 만든 QR코드. 칸이 훨씬 촘촘하다
긴 주소 · H · 57칸

한글은 한 글자가 3바이트라서 34자 문장이 84바이트가 됩니다. 영문과 숫자만 있는 주소보다 같은 글자수에서 훨씬 많은 칸을 차지합니다. 표에서 한글 문장의 L과 M이 같은 37칸인 것은, 그 버전의 남는 공간 안에서 M까지 담을 수 있었기 때문입니다.

인쇄 크기 정하기

칸 하나의 실제 크기는 인쇄할 폭을 (칸 수 + 양쪽 여백 8칸)으로 나눈 값입니다. 표준 여백은 한쪽에 4칸입니다.

코드여백 포함 칸 수폭 2cm일 때 한 칸폭 3cm일 때 한 칸
짧은 주소 · M370.54mm0.81mm
긴 주소 · M490.41mm0.61mm
긴 주소 · H650.31mm0.46mm

칸이 작아질수록 휴대폰 카메라가 초점을 맞추기 어렵고, 인쇄 번짐이나 종이 질감에도 약해집니다. 명함이나 스티커처럼 2~3cm로 작게 인쇄한다면 내용을 짧게 하고 단계를 L이나 M으로 두는 편이 안전합니다.

얼마나 떨어져서 찍을지도 고려합니다. 흔히 쓰는 어림셈은 "찍는 거리의 10분의 1 이상을 코드 폭으로"입니다. 손에 들고 30cm 거리에서 찍는 전단이면 3cm, 2m 떨어진 벽의 포스터면 20cm 정도가 필요하다는 계산입니다. 정확한 기준은 아니므로 실제 크기로 한 장 인쇄해 여러 휴대폰으로 시험해 보는 것이 가장 확실합니다.

이미지 크기 고르기

QR코드 생성의 이미지 크기 선택지로 짧은 주소(M, 표준 여백)를 저장하면 실제로는 259, 518, 1036, 2035화소가 나옵니다. 칸 하나를 정확히 정수 화소로 그리느라 선택한 숫자에서 조금씩 달라집니다.

  • 화면에 띄우거나 메신저로 보낼 때는 약 512화소면 충분합니다.
  • 문서나 전단에 넣어 인쇄할 때는 약 1024화소 이상을 고릅니다. 300DPI로 인쇄한다면 1036화소는 폭 약 8.8cm까지 선명하게 나옵니다.
  • 포스터나 현수막처럼 크게 인쇄하거나 디자인 프로그램에서 크기를 자유롭게 바꿀 때는 SVG로 저장합니다. SVG는 확대해도 칸 경계가 흐려지지 않습니다.

단계는 이렇게 고릅니다

  • 화면에 띄우거나 깨끗한 종이에 넉넉한 크기로 인쇄한다면 기본값 M이 무난합니다.
  • 작게 인쇄해야 하는데 내용이 길다면 L로 낮춰 칸을 키웁니다.
  • 야외에 붙여 두어 비바람에 상할 수 있거나, 가운데에 로고를 얹을 계획이라면 Q나 H를 고릅니다. 로고는 복원 가능한 범위보다 훨씬 작게, 네 모서리 중 세 곳에 있는 큰 사각형(위치 표시)을 가리지 않게 넣고 반드시 시험합니다.
  • 단계를 올리기 전에 내용을 줄일 수 있는지 먼저 봅니다. 주소 뒤에 붙은 ?utm_source=… 같은 추적용 꼬리표를 빼면 긴 주소도 짧은 주소에 가까운 칸 수로 줄어듭니다.

그 밖에 확인할 것

바깥 여백은 줄이지 않는 것이 좋습니다. 코드 둘레의 빈 공간이 있어야 카메라가 코드의 경계를 찾습니다. 배경이 완전히 흰 곳에 인쇄할 때만 좁게 줄입니다. 색을 바꿀 때는 무늬를 어둡게, 배경을 밝게 둡니다. 밝은 무늬에 어두운 배경처럼 뒤집으면 일부 카메라 앱은 읽지 못합니다.

QR코드는 주식회사 덴소웨이브의 등록상표입니다. 칸 수는 이 사이트가 쓰는 qrcode-generator 1.4.4로 바이트 방식(UTF-8)으로 만들어 셌습니다. 다른 생성기는 숫자나 영문 대문자만 있는 내용을 더 촘촘한 방식으로 담아 칸 수가 조금 다를 수 있습니다.