QR 코드 생성기
중계 서버도, 만료도, 추적도 없는 QR 코드를 만듭니다. 만든 뒤 실제로 읽히는지 확인해 드립니다.
지금 쓸 수 있는 도구
무료 QR 코드가 갑자기 안 되는 이유
QR 코드에는 두 종류가 있습니다. 정적 QR은 주소가 코드 무늬 자체에 박혀 있습니다. 동적 QR은 코드에 서비스 업체의 짧은 주소가 박혀 있고, 스캔하면 그 업체 서버를 한 번 거쳐 실제 주소로 넘어갑니다.
동적 QR 은 나중에 목적지를 바꿀 수 있고 스캔 통계를 볼 수 있습니다. 대신그 업체가 링크를 계속 살려 둬야만 동작합니다. 무료 체험이 끝나거나, 요금제를 해지하거나, 업체가 문을 닫으면 이미 인쇄한 전단·명함· 메뉴판의 QR 이 한꺼번에 죽습니다. "무료"라고 적힌 생성기가 기본값으로 동적 QR 을 만드는 경우가 흔하고, 그 사실은 결제 안내를 받을 때가 되어서야 눈에 들어옵니다.
여기서 만드는 QR 은 전부 정적 QR 입니다. 우리 도메인은 코드 안에 들어가지 않고, 스캔은 우리를 거치지 않습니다. 그래서 목적지를 나중에 바꿀 수 없고 통계도 볼 수 없습니다 — 대신 우리가 사라져도 QR 은 계속 동작합니다. 무엇이 담겼는지 도구 화면에서 그대로 보여 주므로 확인할 수 있습니다.
만든 QR 을 실제로 다시 읽어 봅니다
QR 은 눈으로 검사할 수 없습니다. 로고를 얹고, 색을 바꾸고, 모듈을 점으로 바꾸는 동안 화면에는 계속 그럴듯한 그림이 떠 있습니다. 안 읽힌다는 사실은 대개 인쇄한 뒤 현장에서 알게 됩니다.
그래서 이 도구는 만들 때마다 방금 그린 그 그림을 그대로 다시 읽습니다. 로고까지 합성한 상태로 이미지를 만들고, 흑백으로 바꾸고, 코드를 찾아서 복호한 다음, 나온 문자열이 입력한 것과 같은지 글자 단위로 비교합니다. 결과는 미리보기 아래에 「읽힘 확인」 또는 「읽히지 않습니다」로 나옵니다.
한계도 분명히 적어 둡니다. 이 검사는 깨끗한 정면 이미지를 읽는 것이라 실제 촬영보다 후한 조건입니다. 여기서 실패하면 현장에서는 확실히 실패하지만, 여기서 통과했다고 모든 카메라·조명·인쇄 상태에서 읽힌다는 뜻은 아닙니다.
몇 mm 로 인쇄해야 하는지 알려 줍니다
QR 이 안 읽히는 사고는 인코딩보다 크기에서 훨씬 많이 납니다. 대부분의 생성기는 "1000px PNG" 를 주고 끝냅니다 — 그런데 1000px 은 인쇄물에서 아무 의미가 없는 숫자입니다. 300dpi 로 뽑으면 85mm 이고 72dpi 면 353mm 입니다.
여기서는 스캔 거리를 고르면 여백을 포함한 mm 단위 권장 크기와모듈 한 칸의 실제 크기를 계산해서 보여 줍니다. 저장 크기도 픽셀이 아니라 「명함 25mm」, 「테이블 50mm」 처럼 쓰임새로 고르고, 300dpi 로 환산한 픽셀이 함께 표시됩니다.
근거의 등급도 섞지 않습니다. 사방 4모듈의 여백은ISO/IEC 18004 규격이 정한 값이고, 모듈 0.4mm 기준은 QR 을 만든 DENSO WAVE 가 밝힌 스캐너 판독 한계 위에서 잡은 값이며, "스캔 거리의 1/10" 는 업계에서 널리 쓰이지만규격에 있는 값이 아닌 경험칙입니다. 화면에도 그렇게 적혀 있습니다.
계정도, 워터마크도, 개수 제한도 없습니다
| 흔한 무료 서비스 | 여기 | |
|---|---|---|
| 코드 종류 | 기본이 동적 QR 인 경우가 많음 | 항상 정적 QR |
| 인쇄 후 수명 | 구독이 끝나면 링크가 죽을 수 있음 | 우리와 무관하게 계속 동작 |
| 스캔 기록 | 업체가 수집 | 거치는 서버가 없어 수집 불가 |
| 벡터(SVG) 저장 | 유료 등급인 경우가 많음 | 무료 |
| 판독 검증 | 보통 없음 | 만들 때마다 자동 |
| 회원가입 | 저장·수정에 필요 | 계정 자체가 없음 |
대신 만든 QR 을 우리가 보관해 주지 않습니다. 저장 버튼을 누르지 않고 탭을 닫으면 사라집니다. 계정이 없다는 것과 기록이 없다는 것은 같은 말입니다.
근거
- Point for setting the module size — DENSO WAVEQR 코드를 만든 회사의 설명. 모듈이 4도트 이상이어야 안정적이고, 스캐너의 판독 한계가 0.1~0.25mm 라는 숫자가 여기서 나온다
- ISO/IEC 18004:2015 — QR Code bar code symbology specification심벌 구조·오류 정정 레벨·사방 4모듈 여백의 출처
- @nuintun/qrcode — A pure JavaScript QRCode encode and decode library이 페이지가 브라우저에서 실행하는 인코더·판독기(MIT). ZXing 포트이고 순수 자바스크립트라 네트워크 요청이 없다