URL이나 텍스트를 입력하면 바로 QR 코드를 만들어요. 크기와 오류 복원 수준을 고르고 PNG로 내려받을 수 있어요. 모든 생성은 브라우저 안에서 이뤄져요.
QR 코드에는 오류 정정 정보가 함께 들어가요. 그래서 일부가 가려지거나 인쇄가 번져도 읽히지만, 담는 글자가 많아지면 격자가 촘촘해져서 같은 크기로 인쇄했을 때 인식률이 떨어져요. 긴 링크는 단축 URL로 줄이면 격자가 훨씬 단순해져요.
세 모서리의 큰 사각형이 위치 탐지 패턴이에요. 스캐너가 이걸 먼저 찾아 코드의 방향과 기울기를 파악해요. 그래서 QR 은 거꾸로 들어도 읽혀요.
나머지 격자가 데이터고, 그 안에 오류 정정 정보가 섞여 있어요.
1994년 일본 덴소웨이브가 자동차 부품 추적용으로 만들었어요. 바코드가 숫자 20자 정도만 담는 데 비해 QR 은 훨씬 많이 담고, 어느 방향에서든 읽힌다는 게 설계 목표였어요.
L(7%) · M(15%) · Q(25%) · H(30%) — 코드의 이만큼이 손상돼도 읽힌다는 뜻이에요.
높일수록 안전하지만 같은 내용에 격자가 촘촘해져요. 인쇄 크기가 같다면 오히려 인식이 어려워질 수 있어요.
화면 표시용은 M 이면 충분해요. 손상될 일이 없으니까요.
인쇄물·야외 부착물은 Q 나 H. 긁힘·물때·구겨짐을 견뎌야 해요.
가운데 로고를 넣는다면 H 를 쓰세요. 로고가 데이터를 가리는 것이므로 복원력이 필요해요. 다만 가려도 되는 건 전체 면적의 30% 가 아니라 그 이하로 잡는 게 안전해요.
경험칙은 스캔 거리의 1/10 이에요. 30cm 에서 읽을 코드는 3cm, 3m 떨어진 포스터의 코드는 30cm 가 필요해요.
최소 여백(quiet zone) 을 지키세요 — 코드 주변에 모듈 4개 폭의 빈 공간이 있어야 해요. 배경 이미지에 딱 붙여 넣으면 인식이 안 되는 흔한 원인이에요.
대비가 중요해요. 어두운 코드에 밝은 배경이 기본이에요. 반전(밝은 코드 + 어두운 배경)은 못 읽는 스캐너가 있어요.
인쇄는 300dpi 이상으로. 저해상도로 뽑으면 격자 경계가 뭉개져요.
담는 글자가 많아지면 버전이 올라가 격자가 촘촘해져요. 같은 크기로 인쇄하면 인식률이 떨어져요.
긴 URL 은 단축 URL 로 줄이면 격자가 훨씬 단순해져요.
URL 에서 `https://` 는 생략할 수 없지만, `www.` 는 대개 빼도 되고 추적 파라미터(`?utm_source=...`)는 필요 없으면 지우세요.
대문자 URL 이 더 효율적이에요 — QR 은 영숫자 모드에서 대문자만 지원해서, 소문자가 섞이면 바이트 모드로 바뀌어 용량을 더 써요. 도메인은 대소문자를 구분하지 않으니 `HTTPS://EXAMPLE.COM` 이 더 작은 코드가 돼요(경로는 구분하니 주의).
정적 — 내용이 코드 자체에 박혀요. 이 도구가 만드는 게 이것이에요. 만료가 없고 서버가 필요 없지만, 한 번 인쇄하면 내용을 못 바꿔요.
동적 — 중계 서버 주소를 담고, 그 서버가 실제 목적지로 보내요. 나중에 목적지를 바꿀 수 있고 스캔 통계도 볼 수 있어요.
⚠️ 동적 QR 은 그 서비스에 의존해요. 업체가 문을 닫거나 유료 전환하면 인쇄한 코드가 전부 죽어요. 명함이나 간판처럼 오래 쓸 것에는 정적 QR 이 안전합니다.
QR 은 사람이 목적지를 읽을 수 없어요. 링크는 도메인을 보고 판단할 수 있지만 QR 은 스캔해야 알 수 있죠.
이걸 노린 큐싱(QR + 피싱) 이 늘고 있어요. 주차장 요금기·식당 메뉴판·공공 포스터에 가짜 QR 스티커를 덧붙이는 수법이에요.
스캔 후 열리는 주소를 확인하고 여세요. 대부분의 카메라 앱이 주소를 먼저 보여줘요.
공공장소의 QR 이 스티커로 덧붙어 있으면 의심하세요. 결제나 로그인을 요구하면 특히요.
생성은 브라우저에서 이뤄지고 입력한 내용이 서버로 전송되지 않아요.
아니요. 내용이 그대로 인코딩되는 정적 QR이라 만료나 사용 횟수 제한이 없어요.
아니요. QR 생성은 전부 브라우저 안에서 처리돼 서버로 아무것도 보내지 않아요.
L→H 로 갈수록 코드 일부가 가려져도 잘 읽히지만 패턴이 촘촘해져요. 인쇄물엔 Q나 H, 화면 표시용은 M 정도면 충분해요.