안녕하세요, 자바파커입니다.
QR코드는 30% 망가져도 찍힌다던데, 진짜일까요?
그래서 직접 가려 봤습니다. 결과는 "가운데는 생각보다 약하고, 모서리는 훨씬 약하다" 였습니다. 1분 영상으로도 정리했습니다.
QR 안에는 여분이 들어 있다
QR코드는 데이터와 함께 망가진 칸을 다시 계산해 내는 여분(리드-솔로몬 오류 정정) 을 품고 있습니다. 등급이 높을수록 여분이 많습니다.
| 등급 | 표준 복구율 |
|---|---|
| L | 7% |
| M | 15% |
| Q | 25% |
| H | 30% |
여기서 함정이 하나 있습니다. 이 숫자는 그림 면적이 아니라 데이터 조각(코드워드) 수 기준입니다.
직접 가려 봤습니다
2026년 11월 13일, 같은 내용(https://blog.javapark.kr)으로 등급별 QR을 만들고, 가운데를 빨간 사각형으로 0.5%씩 넓히며 jsQR 1.4로 읽었습니다.
| 등급 | 가운데 가림 — 읽힌 한계 | 모서리 네모 1개 가림 |
|---|---|---|
| L | 5.5% | 실패 (면적 7.8%) |
| M | 8.5% | 실패 (면적 7.8%) |
| Q | 12% | 실패 (면적 5.8%) |
| H | 17.5% | 실패 (면적 5.8%) |
- H 등급도 가운데 17.5%에서 멈췄습니다. 가운데를 가리면 데이터와 여분이 함께 지워지고, 위치를 맞추는 작은 표시(정렬 패턴)까지 덮여서 면적 기준보다 일찍 실패합니다.
- 모서리 네모 하나만 가려도 4등급 모두 실패했습니다. 그 네모(위치 찾기 패턴)는 "QR이 여기 있다"를 알려 주는 표시라, 되살릴 여분이 없습니다.
이 숫자는 jsQR 한 디코더 기준입니다. 휴대폰 카메라 앱은 조금 더 버틸 수도 있습니다.
그래서 이렇게 하세요 — 로고 넣을 때
- 로고는 H 등급 + 가운데 + 작게
- 모서리 네모 3개는 비워 두기 (스티커·장식 금지)
- 배포 전에 여러 폰으로 찍어 보기
정리
- 7·15·25·30%는 데이터 조각 기준이다. 그림을 그만큼 가려도 된다는 뜻이 아니다.
- 실측: H 등급 가운데 17.5% 까지, 모서리 네모는 하나만 가려도 실패.
- QR은 가운데는 강하고, 모서리는 약하다.
인스타에서 1분 버전으로 보기 → @javapark.dev 릴스
가게나 행사에서 QR이 안 찍혀 곤란했던 적 있으신가요? 댓글로 들려주세요.