계산대에서 상품을 한 번 훑었을 뿐인데, 이름과 가격이 화면에 뜬다. 얼핏 보면 바코드에는 검은 줄만 있는데, 스캐너는 어떻게 그 아래의 숫자를 알아내는 걸까?
핵심은 바코드가 줄무늬 그림이 아니라 폭이 다른 검은 막대와 흰 공간으로 만든 약속된 패턴이라는 데 있다. 스캐너는 빛의 반사 차이 또는 카메라 이미지를 이용해 이 패턴을 읽고, 정해진 규칙으로 숫자열을 복원한다.
다만 스캐너가 바코드에서 상품명이나 가격을 직접 ‘읽어 내는’ 것은 아니다. 일반적인 소매용 EAN·UPC 바코드는 상품을 식별하는 번호를 담고, 매장 시스템이 그 번호를 자기 데이터베이스와 대조해 상품명·가격·재고 정보를 보여 준다.
가장 흔히 보는 세로줄 바코드를 기준으로, 숫자와 줄무늬의 관계, 가운데의 긴 막대, 마지막 숫자의 역할을 차례로 살펴본다.
목차
- 1. 바코드는 줄무늬가 아니라 정보의 표기법이다
- 2. 스캐너는 검은색과 흰색의 반사 차이를 읽는다
- 3. 줄의 폭 조합은 어떻게 숫자가 될까
- 4. 긴 막대와 빈 여백에도 역할이 있다
- 5. 마지막 숫자와 계산대 화면은 무엇을 확인할까
- 자주 묻는 질문 (FAQ)
1. 바코드는 줄무늬가 아니라 정보의 표기법이다
바코드는 사람이 보는 그림이 아니라 기계가 읽도록 만든 정보 표현 방식이다. 일렬의 막대와 공간을 쓰는 바코드는 ‘1차원 바코드’라고 부른다. 소매 상품에서 흔한 EAN-13과 UPC-A가 이 부류에 속한다.
예를 들어 EAN-13은 13자리 상품 식별 번호인 GTIN-13을 표시할 때 쓴다. 하지만 바코드 아래의 숫자를 눈으로 보았다고 해서 그 숫자만으로 제조국·품목·가격을 완전히 해석할 수 있는 것은 아니다. GS1은 완성된 GTIN 자체에는 데이터베이스 없이 풀어낼 수 있는 고정된 의미가 없다고 설명한다.
즉 바코드의 첫 번째 일은 ‘이 상품은 이 번호의 상품이다’라고 정확히 알려 주는 것이다. 매장은 그 번호를 상품 마스터 데이터와 연결한다. 같은 바코드를 찍어도 매장·판매 시점에 따라 가격 표시가 달라질 수 있는 이유도 여기에 있다.
2. 스캐너는 검은색과 흰색의 반사 차이를 읽는다
전통적인 레이저 스캐너는 바코드에 빛을 비추고, 검은 막대와 흰 공간에서 돌아오는 빛의 차이를 감지한다. 검은 부분은 보통 빛을 적게 반사하고, 흰 부분은 더 많이 반사한다. 이미지 기반 스캐너는 바코드 사진에서 같은 명암 패턴을 찾아낸다.
그 다음 장치는 ‘검정-흰색의 순서’만 보는 데서 멈추지 않는다. 각 막대와 공간이 기준 폭의 몇 배인지 측정해, 표준이 정한 조합과 비교한다. 그래서 흐릿하게 인쇄되거나, 주름·반사·훼손으로 폭의 경계가 불분명하면 인식이 실패할 수 있다.
스캔할 때 바코드 주변의 여백을 가리지 않는 것도 중요하다. 바코드 양옆의 비어 있는 부분은 장식이 아니라 판독 범위를 알려 주는 ‘콰이어트 존(Quiet Zone)’이다. 포장 디자인이나 스티커가 이 여백을 침범하면 읽기 성능에 영향을 줄 수 있다.
3. 줄의 폭 조합은 어떻게 숫자가 될까
소매용 EAN-13 바코드를 가까이 보면 막대가 제각각인 것 같지만, 실제로는 일정한 단위 폭(모듈)을 조합한 패턴이다. 한 숫자를 표현하는 막대·공간 묶음은 정해진 수의 모듈로 구성되며, 스캐너는 그 폭의 배열을 0부터 9까지의 규칙표와 대조한다.
여기서 재미있는 점은, 아래에 인쇄된 13자리 숫자와 막대 부분이 일대일로 단순하게 나뉘지 않는다는 것이다. EAN-13은 가운데를 기준으로 왼쪽과 오른쪽에 각각 여섯 개의 숫자 패턴을 배치한다. 맨 앞자리 숫자는 왼쪽 여섯 패턴의 배열 방식 차이로 함께 표현된다.
따라서 사람이 아래 숫자를 하나씩 읽는 것과 스캐너가 막대 패턴을 해독하는 것은 같은 결과로 향하지만 과정은 다르다. 숫자는 사람이 확인할 수 있도록 함께 적은 표시이고, 막대와 공간의 폭 조합은 기계가 빠르게 읽는 본문이다.
4. 긴 막대와 빈 여백에도 역할이 있다
EAN-13에는 시작·가운데·끝에 다른 막대보다 길게 보이는 구간이 있다. 이를 가드 바 패턴이라고 한다. 스캐너는 이 패턴을 기준점으로 삼아 어디서 숫자 영역이 시작하고, 왼쪽·오른쪽 영역이 어디서 나뉘며, 어디서 끝나는지 판단한다.
GS1의 일반 규격에 따르면 EAN-13은 왼쪽 여백, 시작 가드 바, 왼쪽의 여섯 기호, 가운데 가드 바, 오른쪽의 여섯 기호, 끝 가드 바, 오른쪽 여백 순서로 구성된다. 즉 가운데의 긴 막대는 숫자 5나 0을 뜻하는 것이 아니라, 바코드의 구조를 맞추는 표식이다.
이 구조 덕분에 스캐너는 상품을 어느 정도 기울여 찍어도 패턴을 찾아낼 수 있다. 다만 모든 바코드가 이 모양은 아니다. QR 코드처럼 작은 사각형을 배열하는 2차원 바코드와 물류용 바코드는 담는 정보와 읽는 방식이 다를 수 있다.
5. 마지막 숫자와 계산대 화면은 무엇을 확인할까
EAN-13의 맨 마지막 숫자는 체크디지트(check digit)다. 앞자리 숫자들로 정해진 계산 규칙을 적용해 만든 값으로, 스캔하거나 입력한 번호에 흔한 오류가 있는지 확인하는 데 쓰인다. GS1 규격도 EAN-13의 오른쪽 끝 기호가 체크디지트를 인코딩한다고 정한다.
체크디지트가 있다고 해서 모든 인쇄 불량이나 모든 데이터 오류를 찾아내는 것은 아니다. 역할은 번호의 형식과 일부 입력 오류를 걸러 내는 데 가깝다. 바코드가 읽힌 뒤에는 매장 시스템이 해당 GTIN을 조회하고, 그 매장이 관리하는 상품명·가격·할인·재고 정보를 화면에 불러온다.
그래서 계산대의 ‘삑’ 소리는 가격이 바코드 안에서 튀어나온 소리라기보다, 바코드 패턴을 번호로 바꾸고 매장 데이터와 연결하는 과정이 성공했다는 신호에 가깝다. 줄무늬 하나에는 번호가, 계산대 안에는 그 번호와 연결된 정보가 따로 있는 셈이다.
마치며
바코드는 검은 줄을 세는 기술이 아니다. 빛의 반사 또는 이미지에서 막대와 공간의 폭을 읽고, 시작·가운데·끝의 기준 패턴을 찾아, 표준 규칙에 따라 숫자열로 되돌리는 기술이다.
그리고 그 숫자는 상품명과 가격을 담은 짧은 문장이 아니라, 데이터베이스에서 상품을 찾기 위한 식별자다. 다음에 계산대에서 바코드를 볼 때는 줄 사이의 빈 공간과 유난히 긴 막대도 함께 눈여겨보면, 평범한 줄무늬가 조금 다르게 보일 것이다.
자주 묻는 질문 (FAQ)
Q1. 바코드 아래 숫자와 막대가 같은 정보를 담나요?
소매용 EAN·UPC에서는 대체로 같은 상품 식별 번호를 사람이 읽을 수 있는 숫자와 기계가 읽는 막대 패턴으로 함께 표시합니다. 다만 EAN-13은 맨 앞자리까지 포함한 13자리 값을 패턴 배열 방식으로 표현하므로, 숫자 하나가 막대 한 묶음에 단순 대응하는 구조는 아닙니다.
Q2. 바코드만 찍으면 가격이 나오는 이유는 무엇인가요?
스캐너가 읽은 상품 식별 번호를 매장 시스템이 데이터베이스와 대조하기 때문입니다. 일반적인 소매용 바코드가 가격 자체를 담는다고 단정할 수는 없습니다.
Q3. 바코드 양옆의 하얀 여백은 잘라도 되나요?
권하지 않습니다. 양옆의 비어 있는 영역은 스캐너가 바코드 경계를 구별하는 콰이어트 존입니다. 이 영역을 줄이거나 다른 인쇄물로 덮으면 판독이 어려워질 수 있습니다.
Q4. 바코드와 QR 코드는 같은 방식으로 읽나요?
둘 다 기계가 읽는 정보 표식이지만 구조는 다릅니다. 바코드는 주로 막대와 공간을 일렬로 쓰는 1차원 방식이고, QR 코드는 작은 사각형을 가로·세로로 배열하는 2차원 방식입니다. 담을 수 있는 정보와 판독 규칙도 다릅니다.
참고 자료
- GS1, 「Barcodes - Standards」
- GS1, 「GS1 General Specifications」, EAN-13 바코드 형식
- GS1, 「What is the difference between a GS1 GTIN, a barcode, an EAN and a UPC?」
- GS1, 「What is the GS1 barcode commonly used for trade item identification?」
📚 함께 보는 잡학 수다
일상의 호기심을 하나씩 채워갑니다.

0 Comments
댓글 쓰기