QR코드 생성

QR코드 하나에는 가장 낮은 오류 복원 수준(L, 버전 40)에서 텍스트 2,953바이트, 숫자만이라면 7,089자까지 들어갑니다. https://example.com 같은 짧은 링크는 M 수준에서 25×25 크기의 버전 2 코드면 충분합니다.

내용 종류

오류 복원 수준

위 항목을 채우면 QR코드가 만들어집니다.

문제가 해결됐나요?
Google 선호 출처로 추가

사용 방법

  1. 코드에 담을 내용을 고릅니다. 텍스트, 웹 링크, 이메일, 전화번호, 와이파이 중 하나입니다.
  2. 항목을 채우면 입력하는 대로 코드가 바뀝니다. 와이파이는 네트워크 이름, 비밀번호, 보안 방식을 넣습니다.
  3. 오류 복원 수준을 정합니다. 화면이나 인쇄물에는 보통 M이면 되고, 긁히기 쉽거나 가운데에 로고를 얹을 거라면 Q나 H를 씁니다.
  4. 휴대폰 카메라로 미리보기를 찍어 확인한 뒤, 인쇄·디자인용은 SVG, 문서·슬라이드용은 PNG로 받습니다.

계산 방법

QR코드 모델 2 표준인 ISO/IEC 18004를 따릅니다. 내용을 보고 전부 담을 수 있는 가장 짧은 방식을 고릅니다. 숫자만 있으면 숫자 모드(한 자에 약 3.3비트), 영문 대문자·숫자·공백과 $ % * + - . / : 기호만 있으면 영숫자 모드(한 자에 5.5비트), 그 밖에는 바이트 모드로 UTF-8 한 바이트에 8비트를 씁니다.

그다음 정한 오류 복원 수준에서 데이터가 들어가는 가장 작은 버전을 1(21×21 모듈)부터 40(177×177)까지에서 고릅니다. 데이터를 블록으로 나눠 각 블록에 GF(256) 리드-솔로몬 오류 정정 코드워드를 붙이고, 블록을 엇갈려 섞은 뒤 세 모서리의 위치 찾기 패턴, 타이밍 선, 정렬 패턴을 피해 지그재그로 채웁니다.

마지막으로 여덟 가지 마스크 패턴 중 하나를 데이터 영역에 XOR로 씌워 큰 덩어리나 위치 찾기 패턴과 닮은 모양이 우연히 생기지 않게 합니다. 여덟 개 모두를 표준 감점 규칙 네 가지(같은 색 모듈 5개 이상 연속, 2×2 덩어리, 밝은 띠 옆의 1:1:3:1:1 모양, 어두운 모듈과 밝은 모듈의 불균형)로 채점해 가장 낮은 것을 씁니다. 옵션에서 마스크를 직접 지정할 수도 있습니다.

종류별로 코드에 담기는 내용

종류저장 형태휴대폰 동작
텍스트입력한 글 그대로글을 보여 주고 검색이나 복사를 제안
URL링크(스킴이 없으면 https:// 를 붙임)페이지 열기를 제안
이메일mailto:주소?subject=...&body=...항목이 채워진 새 메일 작성
전화tel:+821012345678전화 걸기를 제안
와이파이WIFI:T:WPA;S:이름;P:비밀번호;;네트워크 연결을 제안

담을 수 있는 양

버전 40 코드(177×177 모듈)의 최대 용량입니다. 실제 코드는 대개 훨씬 작고, 작을수록 잘 읽힙니다.

수준숫자영숫자바이트
L (7%)7,0894,2962,953
M (15%)5,5963,3912,331
Q (25%)3,9932,4201,663
H (30%)3,0571,8521,273

인쇄와 스캔 요령

  • 여백(조용한 영역)은 4모듈 이상 남깁니다. 여백을 잘라 내는 것이 코드가 안 읽히는 가장 흔한 원인입니다.
  • 밝은 배경에 진한 점으로, 대비를 뚜렷하게 합니다. 색을 뒤집거나 옅은 색을 쓰면 많은 스캐너 앱에서 실패합니다.
  • 가로 2cm 이상으로 인쇄하고, 내용이 길거나 멀리서 찍게 할 거라면 더 크게 합니다.
  • 링크가 짧을수록 코드가 단순하고 튼튼해집니다. 내용이 길면 직접 관리하는 도메인의 짧은 URL이 나을 때가 많습니다.

출처와 참고

  • 인코딩은 ISO/IEC 18004:2015(QR Code bar code symbology specification)를 따릅니다. QR Code는 DENSO WAVE INCORPORATED의 등록상표입니다.
  • 와이파이 코드는 ZXing 프로젝트 문서(Barcode Contents 위키)의 WIFI: 형식을 쓰며, 안드로이드와 iOS 카메라가 이를 읽습니다. \ ; , : " 문자는 앞에 백슬래시를 붙여 이스케이프합니다.
  • 버전 40개 전부를 오류 복원 수준 네 가지로 생성하고, 서로 다른 오픈소스 판독기 두 개로 해독해 검증했습니다.

자주 묻는 질문

만든 QR코드에 유효기간이 있나요?

없습니다. 정적 코드라서 내용이 무늬 자체에 들어 있고, 중간에 서버나 리디렉션, 추적이 없습니다. 코드가 가리키는 대상이 남아 있는 한 계속 작동합니다.

오류 복원 수준은 무엇을 골라야 하나요?

M은 손상의 약 15%를 복원하므로 기본값으로 무난합니다. L은 깨끗한 화면용으로 가장 작고 단순한 코드가 됩니다. Q(25%)와 H(30%)는 코드가 커지는 대신 긁힘, 얼룩, 가운데 로고를 견딥니다.

글이 다 안 들어가는 이유는 뭔가요?

버전 40 코드는 L에서 2,953바이트, M 2,331, Q 1,663, H 1,273바이트까지 담습니다. 한글처럼 라틴 문자가 아닌 글자는 한 자에 2~4바이트(한글은 대개 3바이트)를 차지해 영문보다 빨리 찹니다.

SVG와 PNG 중 무엇을 받을까요?

SVG는 벡터 파일이라 어떤 크기로 키워도 선명해서 인쇄와 디자인 프로그램에 맞습니다. PNG는 일반 이미지입니다. PNG는 모듈 하나를 정수 픽셀로 그려 가장자리가 또렷하게 나오도록, 입력한 크기를 그에 맞게 반올림합니다.

입력한 내용이 어딘가로 전송되나요?

아닙니다. 코드는 전부 브라우저 안에서 만들어지고, 와이파이 비밀번호를 포함해 입력한 내용은 기기 밖으로 나가지 않습니다.