QR 코드가 안 읽힐 때: 여백과 이미지 크기부터 확인하세요

같은 주소로 만든 QR 이미지4개를 비교했습니다. 여백 제거, 작은 크기로 축소, 다시 확대했을 때의 해독 결과와 수정 순서를 정리했습니다.

뒤로가기

먼저 원본 이미지와 연결 주소를 나눠 확인하세요

안내문에 붙인 QR 코드가 안 읽힌다면 저장한 원본 이미지부터 다시 확인하세요. 안내문에 넣는 과정에서 여백이 잘리거나 무늬가 너무 작아졌을 수 있습니다. 원본은 읽히는데 안내문 속 QR만 안 읽힌다면 배치나 이미지 변환 과정을 먼저 살펴볼 수 있습니다.

반대로 카메라에 주소는 나타나는데 페이지가 열리지 않는다면, QR 무늬 해독과 링크 접속을 구분해야 합니다. 주소 오타나 연결된 페이지의 접근 권한을 확인하세요. 로그인해야 열리는 신청서가 공개 안내문에 들어 있는지도 살펴보세요.

이 글에서는 QR의 디지털 이미지 자체가 읽히는지를 비교했습니다. 휴대전화 카메라 촬영이나 종이 출력 시험은 아닙니다.

같은 주소로 이미지4개를 만들었습니다

입력한 주소는 https://hjh3311504.github.io/qr-code입니다. QR을 만든 뒤 원본에서 여백만 잘라낸 파일, 아주 작게 줄인 파일, 그 축소본을 다시 키운 파일을 만들었습니다.

이미지 작업 크기 jsQR 해독 결과
원본 바깥 여백을 유지 296×296px 입력 주소와 일치
여백 제거 바깥 흰 여백만 잘라냄 232×232px 입력 주소와 일치
축소본 원본을32px로 줄임 32×32px 해독하지 못함
다시 확대한 파일 축소본을296px로 키움 296×296px 해독하지 못함

jsQR은 이미지의 픽셀에서 QR 내용을 읽는 프로그램입니다. 표는 각 파일을 한 번씩 해독한 결과이며, 성공률을 측정한 통계가 아닙니다.

원본과 여백 제거본은 해독됐고 32px 축소본과 재확대본은 해독되지 않은 QR 비교

그림은 무늬를 비교하기 위해 같은 크기로 표시했습니다. 실제 해독에는 표에 적힌 크기의 원본 파일을 사용했습니다.

여백을 없애도 읽혔는데, 왜 남겨야 할까요?

이번 실험에서는 여백 제거본도 읽혔습니다. 이 결과만으로 여백이 필요 없다고 판단할 수는 없습니다. 무늬가 선명하고 주변 배경이나 촬영 각도가 없는 이미지 파일을 프로그램에 바로 전달한 조건이기 때문입니다.

DENSO WAVE는 QR 주위에 작은 정사각형4칸 너비의 빈 공간을 두도록 설명합니다. 이 작은 칸을 모듈이라고 부릅니다. 흰 여백도 QR을 배치할 때 확보해야 하는 영역입니다. DENSO WAVE의 QR 여백 안내

예를 들어 이미지에서 검은 무늬만 남기도록 자르거나, 테두리·글자·로고를 너무 가까이 붙였다면 원본 여백을 복원하세요. 여백을 확보하려고 QR 무늬를 더 작게 줄이는 것보다 안내문에서 QR 전체에 할당한 공간을 넓히는 편이 목적에 맞습니다.

작아진 파일을 키워도 원본으로 돌아오지는 않았습니다

원본의 검은 무늬는 가로29칸입니다. 한 칸을8px로 그렸고, 양쪽 여백을 합하면 전체 폭은 (29 + 4 + 4) × 8 = 296px입니다. 이를32px로 줄이면 작은 칸들의 경계를 표현할 공간이 크게 줄어듭니다.

축소에는 주변 픽셀을 섞어 크기를 바꾸는 Lanczos3 방식을 사용했습니다. 다시 확대할 때는 가까운 픽셀 값을 복사하는 방식을 썼습니다. 확대본은 파일의 가로·세로 크기만 원본과 같아졌고, 해독은 되지 않았습니다.

따라서 작은 캡처를 크게 늘리는 대신 처음 저장한 이미지나 QR 생성 도구로 돌아가세요. 안내문 편집기를 거쳤다면 최종 저장 파일도 다시 확인하세요. 화면에서 크게 보이는 것과 원본에 충분한 픽셀이 남아 있는 것은 다릅니다.

이 실험의32px는 문제를 뚜렷하게 만들기 위한 크기입니다. 모든 QR이나 모든 카메라의 최소 크기를 뜻하지 않습니다. 실제 인쇄 크기는 무늬의 촘촘함, 출력 품질과 읽는 장치에 따라 판단해야 합니다. DENSO WAVE의 칸 크기와 판독 장치 안내

안내문을 배포하기 전에 확인할 순서

  1. QR 안에 넣은 주소를 직접 열어 목적지와 공개 권한을 확인하세요.
  2. 원본 QR 이미지의 흰 여백을 유지하세요. 무늬나 여백 위에 다른 요소를 겹치지 마세요.
  3. 작은 이미지나 화면 캡처를 확대했다면 원본으로 교체하세요. 가능하면 도구에서 다시 저장하세요.
  4. 안내문에 넣은 뒤 최종 파일에서도 QR이 찌그러지거나 잘리지 않았는지 확인하세요.
  5. 종이로 배포한다면 실제 크기로 시험 출력한 뒤 사용할 휴대전화로 읽어보세요. 화면 배포라면 최종 화면에서도 확인하세요.

마지막 항목은 이 글에서 수행한 검사가 아니라 배포자가 추가로 확인할 단계입니다. 이 실험만으로 특정 인쇄 크기나 촬영 거리를 보장하지 않습니다.

비교 파일과 실험 조건

2026년10월9일에 qrcode로 이미지를 만들고 sharp로 변환한 뒤 jsQR로 해독했습니다. QR의 손상을 보완하는 설정은 모든 파일의 원본에서 M으로 같게 두었습니다. 각 도구의 버전과 파일을 비교할 수 있는 값은 측정 자료에 기록했습니다. 생성 코드는 저장소의 scripts/generate_blog_qr_examples.js입니다.

새 QR은 QR 코드 만들기에서 저장할 수 있습니다. 처음 사용한다면 주소 입력부터 이미지 저장·인쇄까지를, 이미지 크기와 화질 차이가 궁금하다면 이미지 용량 줄이기를 이어서 보세요.