[7편] QR코드는 어떻게 그 작은 네모 안에 정보를 담을까? — 점과 선이 만드는 디지털 언어

카페에서 메뉴판 대신 꺼내는 스마트폰

요즘 카페나 식당에 들어서면 종이 메뉴판 대신 테이블 위 작은 네모를 먼저 찾게 됩니다. 


스마트폰 카메라를 갖다 대면 0.5초도 안 되어 메뉴가 화면에 뜹니다. 결제할 때도 마찬가지입니다. 지갑을 열 필요 없이 QR코드 하나면 계산이 끝납니다.

한국은행의 ‘2024년 전자지급서비스 이용현황’ 보고서에 따르면, 2024년 간편결제 서비스 이용 규모는 일평균 3,072만 건, 금액으로는 9,594억 원에 달합니다. 이 거래 중 상당수가 QR코드 기반 결제입니다.

그런데 한번 가만히 들여다보면, QR코드는 그저 검은 점과 흰 점이 빽빽하게 찍힌 네모일 뿐입니다. 이 작은 사각형이 어떻게 메뉴 주소도, 결제 정보도, 와이파이 비밀번호까지 담아낼 수 있는 걸까요? 1편에서 하루 동안 접하는 IT 기술을 세어 보았을 때, QR코드는 가장 자주 마주치면서도 원리를 가장 모르는 기술 중 하나였습니다.

QR코드 — 1차원 줄무늬를 2차원 격자로 확장한 디지털 언어
QR코드 작동 원리를 보여주는 인포그래픽 – 바코드에서 2차원 격자로 진화한 구조와 위치 탐지 패턴, 카메라 스캔 과정

QR코드는 'Quick Response Code’의 줄임말입니다. 말 그대로 '빠른 응답’을 위해 만들어진 코드입니다. 1994년 일본의 자동차 부품 회사 덴소 웨이브(DENSO WAVE)가 공장에서 부품을 빠르게 분류하기 위해 개발했습니다. 기존 바코드가 가로 줄무늬 한 줄에 숫자 20자리 남짓만 담을 수 있었던 반면, QR코드는 가로와 세로 두 방향을 모두 사용해 최대 7,089자리의 숫자를 저장할 수 있습니다.

비유하면 이렇습니다. 바코드가 '한 줄짜리 메모지’라면, QR코드는 '빽빽하게 적을 수 있는 원고지’입니다. 같은 크기의 종이라도, 한 줄만 쓰는 것과 전체 칸을 채우는 것은 담을 수 있는 정보량이 완전히 다릅니다.

QR코드 작동 원리 = 데이터를 0과 1로 변환 → 검은 칸(1)과 흰 칸(0)으로 격자에 배치 → 카메라가 격자 패턴을 읽어 원래 데이터로 복원

예를 들어, 카페에서 QR코드를 스캔해 메뉴 페이지에 접속하는 과정은 이렇게 이루어집니다. 카페의 메뉴 페이지 주소(URL)가 0과 1의 이진수로 변환됩니다. 이 이진수가 QR코드의 검은 칸과 흰 칸 배열로 기록됩니다. 스마트폰 카메라가 이 배열을 읽고, 0과 1을 다시 원래 URL로 해석합니다. 그 URL로 자동 접속되어 메뉴 화면이 열립니다.

국제표준화기구(ISO)는 QR코드를 ISO/IEC 18004로 표준화하여 관리하고 있습니다. 가장 작은 버전(버전 1)은 21×21칸, 가장 큰 버전(버전 40)은 177×177칸으로 구성됩니다.

QR코드를 QR코드답게 만드는 3가지 구조

QR코드를 자세히 보면, 무작위로 찍힌 것 같은 점들 사이에 일정한 패턴이 숨어 있습니다. 이 구조가 카메라가 QR코드를 정확하고 빠르게 읽을 수 있게 해 주는 핵심입니다.

첫 번째는 위치 탐지 패턴입니다. QR코드의 세 꼭짓점에는 큰 정사각형 무늬가 하나씩 있습니다. 이 세 개의 정사각형이 카메라에게 "여기가 QR코드의 모서리입니다"라고 알려주는 역할을 합니다. 덕분에 QR코드가 비스듬히 놓여 있거나 뒤집혀 있어도, 카메라가 방향을 잡아 정확하게 읽을 수 있습니다. 바코드는 반드시 수평으로 스캔해야 했지만, QR코드는 어떤 각도에서든 인식됩니다.

두 번째는 데이터 영역입니다. 세 꼭짓점의 위치 탐지 패턴을 제외한 나머지 칸들이 실제 정보가 기록되는 공간입니다. 검은 칸은 1, 흰 칸은 0을 의미하며, 이 0과 1의 배열이 URL, 텍스트, 결제 정보 등으로 해석됩니다. 우편물에 비유하면, 위치 탐지 패턴은 봉투의 우편번호란이고, 데이터 영역은 봉투 안의 편지 내용에 해당합니다.

세 번째는 오류 정정 코드입니다. QR코드가 일부 더럽혀지거나 훼손되어도 읽히는 경우가 있습니다. 이것은 QR코드 내부에 '리드-솔로몬(Reed-Solomon) 코드’라는 오류 복원 장치가 내장되어 있기 때문입니다. 덴소 웨이브의 기술 사양에 따르면, 오류 정정 수준은 4단계로 나뉘며, 가장 높은 H 단계에서는 전체 데이터의 약 30%가 손상되어도 원래 정보를 복원할 수 있습니다. 이 기술은 원래 인공위성과 우주 탐사선의 통신 잡음을 보정하기 위해 개발된 수학적 방법입니다.

이것만 알면 달라지는 QR코드 활용 포인트 3가지

QR코드의 구조를 이해하면, 일상에서 조금 더 안전하고 똑똑하게 사용할 수 있습니다.

첫째, QR코드를 스캔하기 전에 출처를 확인하는 습관입니다. QR코드는 그 안에 어떤 정보가 들어 있는지 육안으로 알 수 없습니다. 5편에서 다룬 암호화와 보안의 원리처럼, 보이지 않는 정보일수록 출처 확인이 중요합니다. 공공장소에 누군가 임의로 덧붙인 QR코드 스티커는 피싱 사이트로 연결될 수 있으므로, 공식 안내문에 인쇄된 것인지 확인하는 것이 안전합니다.

둘째, QR코드가 잘 안 읽힐 때의 원인을 아는 것입니다. 화면 밝기가 낮거나, QR코드 표면에 반사광이 심하면 카메라가 검은 칸과 흰 칸의 대비를 제대로 구분하지 못합니다. 화면 밝기를 최대로 올리거나, 각도를 살짝 바꿔 반사를 줄이면 인식률이 높아집니다.

셋째, 직접 QR코드를 만들어 활용할 수 있다는 점입니다. 와이파이 비밀번호, 명함 정보, 특정 웹 주소 등을 QR코드로 만들어 두면 매번 글자를 입력하는 수고를 줄일 수 있습니다. 무료 QR코드 생성 도구는 인터넷에서 쉽게 찾을 수 있으며, 데이터가 코드 자체에 저장되는 정적 QR코드는 별도의 서버 없이도 영구적으로 작동합니다.

정리하며: 검은 점과 흰 점이 만드는 빠른 대화

QR코드는 정보를 0과 1로 바꾸고, 이를 검은 칸과 흰 칸의 2차원 격자로 기록한 뒤, 카메라가 그 패턴을 읽어 원래 데이터로 복원하는 기술입니다. 세 꼭짓점의 위치 탐지 패턴이 방향을 잡아 주고, 오류 정정 코드가 훼손된 데이터까지 복원해 줍니다. 1994년 공장 부품 분류용으로 태어난 이 기술이, 30년이 지난 지금 매일 수천만 건의 결제와 주문을 처리하고 있습니다.

오늘 하나만 확인해 보세요. 주변에 있는 QR코드를 가까이에서 들여다보는 것입니다. 세 꼭짓점의 큰 정사각형 패턴을 찾아보면, 오늘 읽은 위치 탐지 패턴의 원리가 눈에 바로 보일 것입니다.

7편 핵심 요약

  • QR코드는 데이터를 0과 1로 변환하여 검은 칸과 흰 칸의 2차원 격자에 기록하는 기술이며, 기존 바코드(약 20자리)와 달리 최대 7,089자리의 숫자를 저장할 수 있습니다.

  • QR코드의 핵심 구조는 위치 탐지 패턴(방향 인식), 데이터 영역(정보 저장), 오류 정정 코드(손상 복원) 세 가지이며, 최대 30%의 데이터 훼손까지 복원이 가능합니다.

  • QR코드 사용 시 출처 확인(피싱 방지), 화면 밝기·각도 조절(인식률 향상), 직접 생성 활용을 알아두면 더 안전하고 편리하게 쓸 수 있습니다.

다음 편 안내

8편: 스마트폰 카메라는 어떻게 DSLR을 넘보게 되었을까? — 렌즈가 아닌 소프트웨어의 힘

QR코드를 읽을 때 우리가 사용하는 스마트폰 카메라. 손톱만 한 렌즈가 어떻게 전문 카메라급 사진을 만들어 내는 걸까요? 렌즈 크기가 아닌, 소프트웨어와 AI가 바꿔 놓은 사진의 원리를 풀어봅니다.

이전 편: [6편] GPS는 어떻게 내 위치를 미터 단위로 알아낼까? — 머리 위 위성이 하는 계산

댓글

이 블로그의 인기 게시물

[1편] 우리는 하루에 몇 번이나 기술에 기대어 살고 있을까? — 숫자로 보는 일상 속 IT 기술의 현주소

[14편] 충전기 하나로 다 되는 시대 — USB-C 통일의 기술적 배경

[11편] 5G가 바꾸는 것은 속도만이 아닙니다 — 주파수와 지연 시간의 진짜 의미