1D vs 2D 바코드 — QR·DataMatrix가 각광받는 이유와 GS1 Sunrise 2027
마지막 업데이트: 2026-05-01
한줄 요약
1D 바코드(UPC, EAN-13, Code 128)는 선형 구조로 수십 자 수준의 데이터를 담는다. 2D 바코드(QR, DataMatrix, Aztec)는 면적 기반 행렬 구조로 수천 자를 저장하며 Reed-Solomon 알고리즘으로 손상 복원도 지원한다. QR코드는 Denso Wave가 ISO/IEC 18004로 특허를 무료 개방했고, DataMatrix는 AIM 표준 기반으로 소형 인쇄에 유리하다. 한국은 GS1 Sunrise 2027 전환 대상국으로, 유통·식품·의약품 업계가 2027년까지 EAN-13 외에 GS1 QR·DataMatrix 병행 처리 체계를 갖춰야 한다.
TL;DR
바코드는 데이터를 저장하는 방식에 따라 1D(선형)와 2D(행렬) 두 계열로 나뉜다. UPC·EAN-13·Code 128 같은 1D 바코드는 수십 자 내외의 ID만 담을 수 있지만, QR코드·DataMatrix·Aztec 같은 2D 바코드는 수천 자의 구조화된 데이터를 동일한 면적에 저장하면서 Reed-Solomon 알고리즘으로 표면이 손상돼도 복원한다. QR코드는 특허가 무료 개방(ISO/IEC 18004)되어 채택 비용이 없고, DataMatrix는 소형 공간과 금속 각인에 강점이 있다. 한국은 GS1 Sunrise 2027 전환 대상국으로, 2027년부터 유통 POS가 EAN-13 외에 GS1 QR·GS1 DataMatrix를 함께 처리해야 한다. 의약품 분야는 식약처 의약품 표준코드에 따라 GS1 DataMatrix가 이미 의무화되어 있다.
1D vs 2D — 데이터 밀도와 손상 복원
선형 심볼로지(1D)의 구조와 한계
1D 바코드는 다양한 두께의 수직 줄(바)과 그 사이 공백의 조합으로 데이터를 인코딩한다. 스캐너는 레이저나 선형 이미지 센서로 단일 수평 선을 읽어 패턴을 해독한다. 이 구조는 1970년대 POS 환경에 최적화된 것으로, 당시에는 GTIN(글로벌 거래 단품 번호)처럼 짧고 고정된 숫자 ID만 담으면 충분했다.
| 심볼로지 | 최대 데이터 | 문자 유형 | 주요 용도 |
|---|---|---|---|
| EAN-13 | 13자리 숫자 | 숫자 | 소비재 POS |
| UPC-A | 12자리 숫자 | 숫자 | 북미 소비재 |
| Code 128 | ~80자 (실용) | ASCII 전체 | 물류 GS1-128 |
| Code 39 | ~20자 (실용) | 영숫자 + 특수문자 | 산업·자동차 |
| ITF-14 | 14자리 숫자 | 숫자 | 외부 포장 GTIN |
1D의 근본적 제약은 데이터 용량이 인쇄 너비에 비례한다는 점이다. 더 많은 정보를 담으려면 바코드를 더 넓게 인쇄해야 하고, 오류 복원 능력이 없어 줄이 지워지거나 오염되면 스캔이 즉시 실패한다. 또한 가로 방향으로만 읽혀야 하므로 스캐너 정렬에 민감하다.
행렬 심볼로지(2D)의 구조와 Reed-Solomon 오류 복원
2D 바코드는 데이터를 가로·세로 2차원 격자에 분산 저장한다. 각 셀이 비트 한 개를 담기 때문에, 같은 면적 안에 1D보다 훨씬 높은 밀도로 정보를 넣을 수 있다. 더 중요한 차이는 Reed-Solomon 오류 정정 코드(ECC) 내장이다.
Reed-Solomon은 원래 1960년 Irving Reed와 Gustave Solomon이 고안한 다항식 기반 코드로, 데이터 심볼 위에 잉여 패리티 심볼을 추가하여 일정 비율까지의 데이터 손실이나 변형을 수학적으로 복원한다. QR코드는 ECC 레벨을 L(7%), M(15%), Q(25%), H(30%) 네 단계로 선택할 수 있다. DataMatrix는 ECC 200 방식으로 고정(최대 약 30% 면적 손상까지 복원)이다.
| 심볼로지 | 최대 데이터 용량 | ECC 방식 | 손상 복원율 | 360° 인식 |
|---|---|---|---|---|
| QR코드 (버전 40) | 7,089자리 숫자 / 4,296 영숫자 / 2,953바이트 | Reed-Solomon L/M/Q/H | 최대 30% | ✓ |
| DataMatrix (ECC 200) | 3,116자리 숫자 / 2,335 영숫자 / 1,556바이트 | Reed-Solomon | 최대 30% | ✓ |
| PDF417 | 1,108바이트 | Reed-Solomon | 최대 40% (레벨 8) | ✗ (선형 스택) |
| Aztec | 3,832자리 숫자 / 3,067 영숫자 | Reed-Solomon | 최대 40% | ✓ |
2D 바코드는 또한 파인더 패턴(Finder Pattern)이나 얼라인먼트 마커 덕분에 카메라가 어느 각도에서 촬영해도 심볼로지를 탐지하고 기하학적으로 보정할 수 있다. 실무적으로 이는 컨베이어 벨트 위를 지나가는 박스처럼 바코드가 임의의 방향으로 놓여 있을 때 스캐너를 정렬하지 않아도 된다는 의미다.
데이터 밀도 정량 비교
인쇄 물리 크기가 동일한 2cm × 2cm 사각형 기준으로 각 심볼로지가 저장할 수 있는 ASCII 문자 수를 비교하면, QR코드(버전 10, ECC M)는 약 174자, DataMatrix(32×32 모듈)는 약 44자, EAN-13은 13자리 숫자만 담는다. 면적당 정보 밀도는 QR > DataMatrix > Code 128 > EAN-13 순이다.
QR과 DataMatrix가 각광받는 이유
기술적 우위
QR코드와 DataMatrix가 현대 공급망·마케팅·의료 분야에서 선택받는 기술적 이유는 세 가지로 요약된다.
첫째, 데이터 밀도. GS1 Application Identifier(AI) 구조를 따르면 GTIN(14자리) + 만료일(6자리) + 배치 번호 + 시리얼 번호를 한 바코드 안에 담을 수 있다. EAN-13으로는 GTIN만 겨우 들어가므로, 복합 정보를 담으려면 GS1-128이나 GS1 DataMatrix 같은 상위 심볼로지가 필요하다.
둘째, 360° 인식과 손상 복원. 택배 분류 컨베이어처럼 바코드가 임의 각도로 놓이거나, 의약품 패키지처럼 습기·마찰 노출이 있는 환경에서 1D 바코드는 신뢰도가 급격히 떨어진다. 2D 바코드는 30%까지 면적이 훼손되어도 ECC가 데이터를 복원한다.
셋째, 소형 인쇄 가능성. DataMatrix는 10×10 모듈(= 약 2.5mm × 2.5mm)로 인쇄할 수 있어, 주사기 앰풀·항공 부품·PCB처럼 공간이 극히 제한된 제품에도 적용 가능하다. QR코드는 21×21 모듈이 최소 버전(버전 1)이므로 DataMatrix보다 작게 인쇄하기 어렵다.
비즈니스·라이선스 구조
QR코드 — 완전 무료 특허 개방. QR코드는 1994년 Denso Wave가 개발하고 특허를 보유하지만, 공식적으로 특허권 행사를 하지 않겠다고 선언했다. ISO/IEC 18004로 표준화되어 있으며, 어떤 기업이든 로열티 없이 QR코드를 생성·읽기할 수 있다. 이 결정 하나가 QR코드를 전 세계 스마트폰 카메라 기본 기능으로 만든 핵심 동력이다.
DataMatrix — AIM 표준, 대부분 무료. DataMatrix는 AIM(Automatic Identification Manufacturers) 국제 표준으로 관리되며, ECC 200 이전 구버전(ECC 000~140)의 일부 변형에는 라이선스 이슈가 존재했다. 그러나 현재 실무에서 사용되는 DataMatrix ECC 200은 ISO/IEC 16022로 표준화되어 있고 로열티 부담 없이 사용 가능하다. 일부 제조사가 DataMatrix 특정 구현(읽기 알고리즘 등)에 특허를 주장한 사례가 있으나, 표준 스펙 자체는 무료다.
PDF417, Aztec — 각각 무료 개방. PDF417은 Symbol Technologies가 개발했으나 표준화 이후 무료화되었다. Aztec은 Welch Allyn이 개발하고 ISO/IEC 24778로 표준화했으며 무료다. 항공 탑승권(IATA BCBP 표준)에서 Aztec이 채택된 배경이기도 하다.
결론적으로, 현재 주요 2D 심볼로지는 모두 로열티 부담이 없다. QR과 DataMatrix가 1D를 대체하고 있는 이유는 라이선스 비용보다는 순수한 기술적 우위(데이터 밀도, 손상 복원, 소형 인쇄)와 생태계 관성(스마트폰 기본 카메라 QR 인식, GS1 표준 통합) 때문이다.
GS1 Sunrise 2027 — 한국 시장 대응
GS1 Sunrise 2027이란
GS1 Sunrise 2027은 GS1이 전 세계 리테일 POS 시스템이 2027년부터 EAN/UPC 바코드뿐 아니라 GS1 QR코드, GS1 DataMatrix 등 2D 바코드도 처리할 수 있어야 한다고 권고한 전환 이정표다. 공식 GS1 표준 문서(GS1 — 2D Barcodes & GS1 Standards)에서 이 전환의 배경과 구체적 스펙을 확인할 수 있다.
핵심은 EAN-13이나 UPC를 폐기하는 것이 아니라, POS 시스템이 "어느 바코드 포맷이든 읽을 수 있어야" 하는 능력(Sunrise capability)을 갖추는 것이다. 제조사는 포장에 기존 EAN-13을 유지하면서 GS1 QR코드나 GS1 DataMatrix를 추가로 인쇄하는 "듀얼 레이블" 방식을 선택할 수 있다.
GS1 QR코드와 GS1 DataMatrix는 단순히 데이터를 저장하는 그릇이 아니다. GS1 애플리케이션 식별자(Application Identifier, AI) 체계를 통해 GTIN, 만료일, 배치 번호, 시리얼 번호, GS1 디지털 링크 URL 등 구조화된 공급망 데이터를 표준화된 포맷으로 담는다.
주요 GS1 Application Identifier 예시:
| AI | 의미 | 예시 값 |
|---|---|---|
| (01) | GTIN | 08901234567894 |
| (17) | 유효기한(만료일) | 260930 (= 2026-09-30) |
| (10) | 배치(Lot) 번호 | ABC123 |
| (21) | 시리얼 번호 | SN-00001 |
| (8200) | 확장 포장 URL (GS1 디지털 링크) | https://example.com/01/... |
한국 산업별 전환 로드맵
리테일 POS·식품 유통. 국내 대형마트(롯데마트, 홈플러스 등)와 편의점 체인은 GS1 Korea(GS1 Korea — GS1 디지털 링크)의 Sunrise 2027 가이드라인에 따라 POS 단말기 업그레이드를 진행해야 한다. 한 대형 리테일 체인의 PB 상품의 경우 EAN-13 라벨을 유지하면서도 신규 SKU부터 GS1 QR 병행 표기로 전환하는 방향이 현실적이다.
의약품 — 식약처 의약품 표준코드. 의약품은 GS1 Sunrise 2027과 독립적으로, 이미 식약처 의약품 표준코드 체계에 따라 GS1 DataMatrix(GS1-128 포맷 포함)가 의무화되어 있다. 의약품 표준코드에는 GTIN(AI 01), 유효기한(AI 17), 배치 번호(AI 10), 시리얼 번호(AI 21)가 반드시 포함되어야 하며, SCANDIT SDK로 이를 스캔할 때는 복합 코드(Composite Code) 파싱과 AI 추출 로직이 정확해야 한다. 오파싱은 규제 컴플라이언스 위반으로 직결된다.
물류·SCM. 국내 대형 3PL 업체들은 창고 내 피킹·분류 공정에서 GS1-128(Code 128 기반)과 DataMatrix를 함께 사용하는 추세다. 2027년 이후 신규 입고 화물에 GS1 DataMatrix 또는 GS1 QR이 붙어오더라도 읽지 못하는 상황을 막으려면, 창고 관리 시스템(WMS) 연동 스캐너 애플리케이션의 심볼로지 활성화 설정을 지금 점검해야 한다.
전자·제조. 반도체·자동차 부품 업계는 Direct Part Marking(DPM) — 부품 표면에 레이저로 직접 각인하는 방식 — 에서 DataMatrix가 이미 표준이다. 이 영역은 Sunrise 2027의 영향을 덜 받지만, 공급망 추적(Track & Trace) 시스템이 업스트림 GS1 DataMatrix 데이터를 받아 처리해야 한다면 AI 파싱 로직 정비가 필요하다.
Sunrise 전환 체크리스트
개발팀이 GS1 Sunrise 2027에 대응하려면 다음 사항을 검토해야 한다.
- 심볼로지 활성화 확인. SDK 설정에서
Symbology.qr,Symbology.dataMatrix,Symbology.gs1DataBar등이 활성화되어 있는지 확인한다. 기존 시스템이 EAN-13만 활성화해 두었다면, 신규 바코드를 아예 읽지 못한다. - GS1 AI 파싱 로직 추가. 2D 바코드에서 얻은 원시 데이터 문자열을 GS1 FNC1 프리픽스나 괄호 표기법으로 AI별로 파싱하는 로직이 필요하다. SCANDIT SDK는
barcode.data외에barcode.compositeFlag와 GS1 파싱 유틸리티를 제공한다. - 레거시 POS 호환 유지. EAN-13을 계속 처리해야 하므로 기존 심볼로지를 비활성화하지 않는다. 두 계열 심볼로지를 동시 활성화하면 CPU 부하가 소폭 증가할 수 있으나, SCANDIT SDK의 멀티 심볼로지 처리는 이 시나리오에 최적화되어 있다.
- 하드웨어 점검. 일부 구형 고정형 스캐너는 2D 이미저가 없어 하드웨어 교체가 필요할 수 있다. SCANDIT SDK 기반 소프트웨어 스캐너(스마트폰·태블릿)는 하드웨어 없이 2D를 처리할 수 있어 전환 비용을 줄이는 선택지다.
의사결정 가이드 — 무엇을 언제 쓸 것인가
"어떤 바코드를 써야 하는가"는 단일 정답이 없다. 용도·인쇄 공간·독자(소비자 or 산업용 스캐너)·규제 요건에 따라 달라진다. 아래 기준 표는 DC가 국내 구축 경험을 바탕으로 정리한 실무 의사결정 기준이다.
| 시나리오 | 권장 심볼로지 | 이유 |
|---|---|---|
| 소비재 POS 식별 (단일 GTIN) | EAN-13 / UPC-A | 기존 인프라 호환, 변경 불필요 |
| 소비재 + 유통 이력 추적 | GS1 DataMatrix 또는 GS1 QR | AI 구조로 GTIN+만료일+배치 포함 가능 |
| 소비자 직접 스캔 (마케팅, 제품 정보 연결) | QR코드 | 스마트폰 기본 카메라 지원, URL 저장 가능 |
| 의약품 (식약처 의무) | GS1 DataMatrix | 식약처 표준코드 요건, 복합 코드 포함 |
| 항공 탑승권, 신분증 | Aztec 또는 PDF417 | IATA/ICAO 표준 |
| 소형 부품·PCB·앰풀 | DataMatrix | 최소 인쇄 크기 (2.5mm×2.5mm 수준) |
| 산업 자산·항공부품 DPM | DataMatrix ECC 200 | 금속 표면 직접 각인, 고내구성 |
| 대형 물류 외부 박스 | ITF-14 또는 GS1-128 | GTIN-14, 기존 물류 게이트 호환 |
| 창고 피킹·다중 AI 추적 | GS1-128 또는 GS1 DataMatrix | AI 다중 필드 지원 |
DataMatrix vs QR — 세부 분기
두 심볼로지가 모두 후보일 때는 다음 기준으로 분기한다.
DataMatrix를 선택하는 경우:
- 인쇄 공간이 5mm × 5mm 이하로 극도로 제한될 때
- 소비자 스마트폰 스캔이 필요 없을 때 (산업용 이미저·SDK 기반 앱만 사용)
- 금속·유리 표면에 레이저 각인(DPM)이 필요할 때
- 의약품·의료기기 규제 요건에서 GS1 DataMatrix를 명시할 때
QR코드를 선택하는 경우:
- 소비자가 별도 앱 없이 스마트폰 기본 카메라로 스캔해야 할 때
- URL 또는 GS1 디지털 링크를 통한 제품 정보 페이지 연결이 목적일 때
- 마케팅 캠페인 코드, 쿠폰, 이벤트 연결 등 유연한 콘텐츠 연결이 필요할 때
- 인쇄 면적 제약이 DataMatrix 수준으로 극단적이지 않을 때
SCANDIT SDK에서 QR과 DataMatrix 동시 활성화
QR과 DataMatrix를 동시에 활성화하려면 BarcodeCaptureSettings에서 두 심볼로지를 명시적으로 enable해야 한다. 기본값은 모든 심볼로지가 비활성화 상태이므로, 읽어야 하는 심볼로지만 선택적으로 켜는 것이 오탐률을 줄이고 처리 성능을 높이는 권장 방식이다.
// iOS Swift 예시 — SCANDIT SDK 8.x 기준 / 마지막 검증: 2026-04-30
import ScanditBarcodeCapture
let settings = BarcodeCaptureSettings()
settings.set(symbology: .qr, enabled: true)
settings.set(symbology: .dataMatrix, enabled: true)
// EAN-13는 GS1 Sunrise 2027 전환 기간 동안 병행 유지
settings.set(symbology: .ean13UPCA, enabled: true)
코드 예시에서 알 수 있듯, SDK API는 심볼로지를 개별적으로 켜고 끄는 방식이다. 설정의 자세한 내용은 Scandit Docs — Configure Barcode Symbologies (iOS)를 참조하면 된다.
1D는 정말 사라지는가
실제 전환 타임라인
GS1 Sunrise 2027의 정확한 의미를 이해하는 것이 중요하다. 이 이정표는 POS가 1D만 읽던 제한을 해제하는 기점이지, 1D 바코드를 퇴출하는 날짜가 아니다. GS1이 제시한 전환 타임라인 단계는 다음과 같다.
- 2027년 이전 (준비 단계): POS 및 스캐닝 인프라가 GS1 QR/DataMatrix를 읽을 수 있는 Sunrise capability 확보. 제조사는 포장에 EAN-13 유지하면서 2D 심볼로지 병행 표기 시작.
- 2027년: Sunrise 이정표. 이후 POS가 2D를 읽지 못하는 것은 비권고 상태.
- 2027~2030년대 초 (병행 기간): EAN-13과 GS1 QR/DataMatrix가 시장에 공존. 시스템은 두 형식을 모두 처리해야 함.
- 장기 (2030년대 중후반 이후): 충분한 인프라 전환이 이루어지면 EAN-13 단독 포장이 줄어들 수 있으나, 기존 재고와 레거시 상품의 EAN-13은 수십 년간 유통됨.
국가별 전환 속도 차이
미국·캐나다: GS1 US가 Sunrise 2027 준수를 적극 권고 중. 대형 유통사(Walmart, Target 등)가 2D 처리 능력 확보를 공급업체에 요청하기 시작했다.
유럽: EU 디지털 제품 여권(Digital Product Passport, DPP) 규정이 2026년부터 단계적으로 적용되면서 GS1 디지털 링크와 연동된 QR/DataMatrix 채택을 가속화하고 있다.
한국: GS1 Korea 기준 Sunrise 2027 준비 권고가 진행 중이며, 식품·의약품 분야는 규제 요건(식약처 표준코드)이 시장 전환 속도를 앞서고 있다. 국내 대형 리테일 POS가 언제 Sunrise capability를 공식 요구할지가 국내 전환 속도를 결정하는 핵심 변수다.
결론적으로, 향후 5~10년간 EAN-13은 현역이다. 단, 신규 시스템을 설계할 때는 처음부터 2D 심볼로지를 처리할 수 있도록 SCANDIT SDK 심볼로지 설정을 확장해 두는 것이 현명하다. 레거시 시스템 업그레이드보다 신규 프로젝트에서 처음부터 2D를 지원하는 쪽이 훨씬 비용이 낮다.
DC 한국 사례 — 어떤 바코드를 어디서 쓰는가
한 국내 대형 택배사 송장. 한 국내 대형 택배사의 배송 송장은 Code 128(GS1-128 포맷) 기반 1D 바코드로 운송장 번호를 인코딩한다. 물류 허브의 자동 분류 컨베이어가 이 바코드를 고속으로 읽으며, 향후 배송 정보 URL을 담은 QR코드를 병행 인쇄하는 방향으로 전환이 논의되고 있다.
한 이커머스 풀필먼트 사업자. 한 이커머스 풀필먼트 사업자의 물류 센터는 상품 GTIN 외에 내부 관리 코드를 담은 Code 128과 QR코드를 혼합 운용한다. 입고·피킹·출고 각 단계별로 다른 심볼로지가 쓰이며, SCANDIT SDK 기반 앱은 멀티 심볼로지 동시 인식으로 한 번의 스캔 세션에서 두 종류를 모두 처리한다.
한 대형 리테일 체인 PB 상품. 한 대형 리테일 체인의 자체 브랜드(PB) 상품은 EAN-13을 주 바코드로 사용하고, GS1 Sunrise 2027 준비 차원에서 신규 SKU에 GS1 DataMatrix 시범 적용이 검토 중이다. 상품 포장 면적이 작은 PB 제품군에서 DataMatrix의 소형 인쇄 특성이 실질적 이점이다.
의약품 — 식약처 의약품 표준코드. 제약사·병원·약국 시스템에서는 GS1 DataMatrix가 이미 의무 적용 중이다. 복합 코드 형태로 GS1-128과 DataMatrix가 함께 인쇄된 의약품 패키지를 SCANDIT SDK로 스캔할 때는 Symbology.dataMatrix와 복합 코드(Composite Code) 처리가 모두 활성화되어야 하며, AI(01)·(17)·(10)·(21)을 올바르게 파싱해야 식약처 전자의약품관리시스템(KPIS)과의 연동이 정상 동작한다.
마지막 업데이트
마지막 업데이트: 2026-05-01
이 페이지는 SCANDIT SDK 8.x 기준으로 작성되었습니다. GS1 Sunrise 2027 관련 규정은 각국 GS1 조직 및 규제 기관의 공식 발표를 최종 기준으로 삼으시기 바랍니다. SCANDIT SDK 바코드 심볼로지 설정 및 GS1 표준 연동에 대한 기술 상담은 데이터커넥트 기술팀으로 문의해 주시기 바랍니다.
코드 샘플
// SCANDIT SDK 8.x 기준 / 마지막 검증: 2026-04-30
// QR과 DataMatrix를 동시 활성화하는 최소 예제
import ScanditBarcodeCapture
let settings = BarcodeCaptureSettings()
// QR 활성화
settings.set(symbology: .qr, enabled: true)
// DataMatrix 활성화
settings.set(symbology: .dataMatrix, enabled: true)
// 필요하지 않은 심볼로지는 명시적으로 비활성화하여 오탐률을 낮춘다
settings.set(symbology: .ean13UPCA, enabled: false)

