QR Payload Size Lab (인식률 비교용)

페이로드 길이/버전 변화에 따른 인식률을 테스트하기 위한 단일 페이지 QR 생성기입니다. “모듈당 픽셀(px/module)”버전/모듈 수를 같이 보여줍니다.

HEX 모드: DE AD BE EF 처럼 공백/줄바꿈 포함 가능
아래 “길이 스윕”을 쓰면, 이 텍스트를 반복해서 길이를 늘립니다.
인식률 비교엔 보통 정수 스케일이 유리합니다.

주의: ECC가 높거나 페이로드가 커지면 QR 버전이 올라가며 모듈 수가 증가합니다. 동일한 캔버스 크기라면 px/module이 줄어들어 인식률이 떨어질 수 있습니다.
아직 생성되지 않았습니다.
단일 QR
팁: iOS/Android 기본 카메라 + 다른 스캐너 앱(예: ZXing 기반) 둘 다로 비교해보세요.
길이 스윕 결과
bytes ver modules px/mod canvas
각 행을 클릭하면 해당 QR이 왼쪽 “단일 QR” 캔버스에 표시됩니다.

📷 왜 어떤 QR은 잘 찍히고, 어떤 QR은 안 찍힐까요?

QR 코드는 작은 검은/흰색 격자(블록)로 이루어져 있습니다. 이 격자를 모듈(module)이라고 부르며, 카메라는 이 모듈을 하나하나 인식해서 데이터를 복원합니다.

1️⃣ QR 버전 (Version)

QR에 담는 데이터가 많아질수록 QR은 더 촘촘해집니다. 이를 버전이라고 하며, 숫자가 커질수록 블록 수가 늘어납니다.

Version 1 → 21 × 21 블록
Version 10 → 57 × 57 블록
Version 20 → 97 × 97 블록

같은 크기로 출력하면, 버전이 커질수록 각 블록이 더 작아져 카메라가 인식하기 어려워집니다.

2️⃣ 블록 크기 (px / module)

이 화면에 표시되는 px/moduleQR 한 칸(모듈)이 화면에서 몇 픽셀 크기인지를 의미합니다.

8 px / module → 아주 잘 찍힘
4 px / module → 보통
2 px / module → 인식 불안정

실무적으로 4px 이상이 안정권이며, 3px 이하면 조명·초점·손떨림에 매우 취약해집니다.

3️⃣ ECC (오류 정정)

QR은 일부가 가려지거나 손상돼도 복원할 수 있게 오류 정정 코드를 포함합니다.

L → 7% 복원
M → 15%
Q → 25%
H → 30%

ECC를 높일수록 QR이 더 커지고 복잡해져 블록이 작아지는 부작용이 있습니다.

4️⃣ 왜 페이로드 길이가 중요한가

이 도구는 QR에 담긴 데이터(바이트 수)를 늘려가며 언제부터 인식이 무너지기 시작하는지를 실험하는 용도입니다.

티켓, 로그인, 서명, 암호화 데이터가 들어갈수록 QR은 자동으로 버전이 상승하고 결국 카메라가 못 읽는 지점이 옵니다.

🧠 이 화면에서 꼭 봐야 할 3가지

  • payload bytes → QR에 들어간 데이터량
  • version / modules → QR이 얼마나 촘촘한지
  • px/module → 카메라가 실제로 보는 블록 크기

이 값들을 보면서 어디까지가 실사용 가능한 QR인지를 결정하면 됩니다.