AI·IT 이야기

QR코드는 얼마나 가려도 읽힐까? 가운데 로고가 있어도 되는 이유

해봠 2026. 9. 15. 17:11

QR코드 가운데에 로고가 들어간 모습을 보면 궁금해집니다. 저만큼 가렸는데 주소는 어떻게 읽히는 걸까요? QR코드에는 일부 정보가 손상돼도 원래 데이터를 되찾을 수 있도록 오류 정정용 정보가 함께 들어 있습니다.

가릴 수 있는 크기와 위치에는 한계가 있습니다. 이번 글을 위해 QR코드 이미지를 생성하고 컴퓨터 프로그램으로 판독한 결과, 같은 크기의 흰 사각형을 가운데에 놓았을 때는 읽혔지만 왼쪽 위 모서리에 놓았을 때는 읽히지 않았습니다.

1. 모서리의 큰 네모 세 개는 무슨 역할을 할까?

우리가 흔히 보는 정사각형 QR코드에는 왼쪽 위, 오른쪽 위, 왼쪽 아래에 큰 네모가 있습니다. 판독기는 이 무늬를 단서로 QR코드의 위치와 방향을 찾습니다. DENSO는 이 위치 검출 무늬의 흑백 비율을 1:1:3:1:1로 설계해 주변 인쇄물과 구별할 수 있도록 했다고 설명합니다. DENSO의 QR코드 구조 설명

이 글의 예시처럼 오른쪽 아래에 작은 네모가 있는 QR코드도 볼 수 있습니다. 이 정렬 무늬는 이미지가 일그러졌을 때 위치를 보정하는 데 쓰입니다. 바깥의 흰 여백도 판독에 필요한 공간입니다.

자체 제작한 구조 설명 그림. 실험에 사용한 버전 3 QR코드에 표시를 덧붙였습니다. 색 테두리는 설명용이며 판독 실험에는 포함하지 않았습니다.

가운데에는 주소 등의 데이터와 오류 정정용 정보가 배치됩니다. 가운데 전체가 비어 있어도 되는 공간은 아닙니다. 로고로 가린 부분에서 사라진 정보를 나머지 정보로 복원할 수 있을 때 판독이 성공합니다.

2. ‘30% 복원’은 무엇을 기준으로 할까?

QR코드는 원래 데이터에 리드솔로몬 부호라는 오류 정정용 정보를 더합니다. 판독할 때 일부 값이 잘못 읽혀도 이 정보를 이용해 복원할 수 있습니다. DENSO WAVE의 오류 정정 설명

오류 정정 수준은 다음 네 가지로 나뉩니다. 표의 비율은 DENSO WAVE가 안내하는 대략적인 값입니다.

오류 정정 수준 전체 코드워드 기준 복원 비율
L 약 7%
M 약 15%
Q 약 25%
H 약 30%

출처:  DENSO WAVE 오류 정정 안내 , 2026년 9월 15일 실제 웹페이지 캡처. 표 아래 주석에서 비율의 기준을 확인할 수 있습니다.

여기서 코드워드는 데이터를 구성하는 단위이며, QR코드에서는 하나가 8비트입니다. 약 30%라는 수치는 전체 코드워드를 기준으로 한 복원 비율입니다. QR코드 그림 면적의 30%를 마음대로 지워도 된다는 뜻으로 쓰면 부정확합니다. 가린 위치와 손상된 정보의 분포에 따라 결과가 달라지기 때문입니다.

오류 정정 수준을 높이면 복원에 사용할 정보가 늘어납니다. 그만큼 공간도 필요하므로, 같은 내용을 담더라도 더 많은 칸이 필요한 경우가 생깁니다. 로고를 크게 넣기 위해 H를 골랐다는 사실만으로 판독이 보장되지는 않습니다.

3. 가운데를 조금씩 가리면 어디까지 읽힐까?

2026년 9월 15일, 이 글을 위해 같은 예시 주소를 담은 QR코드 파일을 만들었습니다. 여기서는 오류 정정 수준 H로 만든 하나의 QR코드를 복사한 뒤, 가운데를 흰 사각형으로 덮은 결과를 보여드립니다.

실험에 쓴 QR코드는 가로·세로 29칸인 버전 3입니다. 바깥에는 네 칸씩 여백을 두었고, 한 칸은 16픽셀로 만들었습니다. 가운데를 가린 파일도 같은 크기와 여백을 유지했습니다. 흑백 무늬에 적용하는 마스크 설정은 0으로 고정했습니다. QR코드 생성에는 Python qrcode 8.2, 판독에는 ZXing-C++ 3.1.1을 사용했습니다.

휴대전화 카메라로 촬영한 실험은 아닙니다. 선명한 PNG 파일을 판독 프로그램에 직접 전달했으며, 판독값이 넣어둔 문자열 https://example.com/qr와 정확히 같을 때만 성공으로 기록했습니다. 이 주소는 문자열 확인용이며 실제 페이지를 열어 확인하는 실험은 하지 않았습니다.

자체 파일 판독 실험, 2026년 9월 15일. 원본과 가운데 7×7칸·9×9칸은 판독에 성공했고, 11×11칸은 실패했습니다. 그림에는 실제 시험한 PNG를 축소해 배치했습니다

.

가운데를 가린 크기 QR 영역에서 가린 면적 H 수준 판독 결과
가리지 않음 0% 성공
3×3칸 약 1.07% 성공
5×5칸 약 2.97% 성공
7×7칸 약 5.83% 성공
9×9칸 약 9.63% 성공
11×11칸 약 14.39% 실패
13×13칸 약 20.10% 실패
15×15칸 약 26.75% 실패
17×17칸 약 34.36% 실패

면적은 바깥 여백을 뺀 29×29칸을 기준으로 계산했습니다. 예를 들어 7×7칸이면 49÷841×100으로 약 5.83%입니다. 사각형 안에 원래 흰색이었던 칸도 포함하므로, 이 값은 실제로 바뀐 검은 칸의 비율이나 손상된 코드워드의 비율과도 다릅니다.

이 조건에서는 약 9.63%를 가린 파일은 읽혔고 약 14.39%를 가린 파일은 읽히지 않았습니다. ‘H이면 면적의 30%까지 괜찮다’고 적용할 수 없다는 점이 결과에서도 드러납니다. 다만 두 크기 사이를 한 칸씩 모두 시험한 것은 아니므로 정확한 최대 허용 크기를 구한 결과는 아닙니다.

오류 정정 수준을 바꾼 비교도 진행했습니다. 내용, 버전, 칸 크기, 마스크 설정을 동일하게 두었을 때, 가운데 7×7칸을 가린 L은 실패했고 M·Q·H는 성공했습니다. 오류 정정 수준을 바꾸면 실제 흑백 무늬도 달라집니다.

추가로 H 수준에서 마스크 설정을 0부터 7까지 바꿔 만든 여덟 가지 무늬를 비교했습니다. 가운데 11×11칸을 가렸을 때 여섯 가지는 성공하고 두 가지는 실패했습니다. 위 표는 그중 마스크 0의 결과입니다. 같은 내용과 같은 가림 크기라도 무늬에 따라 결과가 달라졌으므로, 위 숫자를 모든 QR코드에 적용할 수는 없습니다.

4. 같은 크기로 모서리를 가리면 결과가 달라진다

이번에는 H 수준 원본을 다시 복사하고, 7×7칸짜리 흰 사각형의 위치만 바꿨습니다. 가운데를 덮은 파일과 왼쪽 위의 큰 위치 검출 무늬를 덮은 파일을 비교했습니다.

자체 파일 판독 실험, 2026년 9월 15일. 두 파일 모두 QR 영역의 약 5.83%를 덮었습니다. H 수준·버전 3·마스크 0으로 조건을 맞췄습니다.

 

7×7칸을 가린 위치 판독 결과
가운데 성공
왼쪽 위의 큰 네모 실패

가린 넓이는 같지만 결과는 달랐습니다. 코드 안의 정보를 복원하는 기능과 화면에서 코드의 위치를 찾아내는 과정은 함께 작동해야 합니다. 이번 결과는 위치를 찾는 무늬를 보존해야 하는 이유를 보여줍니다. 다른 판독기에서도 반드시 같은 방식으로 실패한다고 단정할 수는 없습니다.

또한 이번에는 일정한 위치에 흰 사각형을 덮었습니다. 로고의 색과 모양, 기울어진 촬영 각도, 인쇄 번짐까지 재현한 결과는 아닙니다. 실제 로고가 들어간 파일이나 인쇄물을 사용할 때는 그 완성본을 따로 읽어봐야 합니다.

5. 로고를 넣은 QR코드는 무엇을 확인해야 할까?

가운데 로고가 있는 QR코드를 만들 때는 세 모서리의 큰 네모와 다른 위치 보정 무늬가 가려지지 않는지 먼저 확인하는 편이 좋습니다. DENSO WAVE도 삽화나 디자인을 겹치면 오류 정정 기능이 이미 사용되므로, 추가 손상에 취약해지거나 읽는 속도가 느려질 수 있다고 안내합니다. DENSO WAVE의 디자인 관련 FAQ

바깥 여백도 남겨야 합니다. 일반적인 QR코드에는 사방으로 최소 네 칸 너비의 빈 공간이 필요합니다. 여기서 네 칸은 네 픽셀이 아니라 QR코드를 이루는 작은 정사각형 네 개의 너비입니다. 이번 실험처럼 한 칸이 16픽셀이면 각 방향의 여백은 64픽셀입니다. DENSO WAVE의 여백 기준

출처:  DENSO WAVE QR코드 영역 안내 , 2026년 9월 15일 실제 웹페이지 캡처. 흑백 무늬 바깥에 확보할 여백 너비를 작은 칸 단위로 표시합니다.

블로그나 안내문에 넣을 코드라면 크게 생성한 원본이 읽히는지 확인한 다음, 실제로 올릴 크기의 파일도 확인해보세요. 인쇄할 예정이라면 인쇄물 자체를 읽어보는 편이 좋습니다. 코드의 작은 칸이 충분히 구별되어야 하므로, 크기를 줄이는 데도 판독기의 해상도에 따른 한계가 있습니다. DENSO WAVE의 칸 크기 안내

로고의 적정 크기는 ‘몇 퍼센트’라는 숫자 하나로 정하기 어렵습니다. 위치 검출 무늬와 여백을 보존하고, 배포할 완성본에서 원하는 문자열이 정확히 읽히는지 확인해보세요. 앞의 실험에서처럼 판독 결과가 달라지면 로고를 줄이거나 위치를 조정한 뒤 다시 확인하면 됩니다.

자료 확인 및 실험일: 2026년 9월 15일. QR Code는 DENSO WAVE의 등록상표입니다.

자료 조사, QR코드 파일 생성·판독 실험, 설명 이미지 제작과 원고 작성·교정에 AI를 활용했습니다.