Code 128 vs Code 39: 바코드 차이점 완벽 가이드 (2026)

A modern, sleek comparison of two barcode styles representing efficiency and legacy

물류, 의료, 제조, 소매 등 바코드를 다루는 분이라면 Code 128Code 39를 모두 접해보셨을 것입니다. 둘 다 가장 널리 쓰이는 1D 바코드 포맷이며, 2026년 현재 두 가지 중 어느 것을 선택할지는 인코딩해야 할 데이터의 양과 라벨 공간의 크기에 달려 있습니다.

Code 128은 현대적인 표준입니다. 고밀도, 전체 ASCII 지원, 필수 체크디지트를 갖추고 있습니다. 반면 Code 39는 더 오래되고 단순한 대안으로, 짧은 문자열에는 잘 작동하지만 데이터가 길어지면 비효율적입니다. 이 가이드는 두 포맷의 차이를 분석하고 상황에 맞는 올바른 선택을 돕습니다.

Code 128 vs Code 39 한눈에 보기

기능 Code 128 Code 39
데이터 밀도 높음 — 더 적은 공간에 더 많은 데이터 낮음 — 빠르게 너비가 넓어짐
문자 집합 전체 128 ASCII 문자 43개 문자 (대문자, 숫자, 일부 기호)
소문자 지원 기본 지원 “Extended” 모드로만 가능 (바코드 길이 2배)
체크디지트 필수 (Modulo 103) 선택 사항
바/여백 너비 4단계 (1, 2, 3, 4 단위) 2단계 (좁음과 넓음)
적합한 용도 물류, 배송, 복잡한 데이터 단순 내부 추적, 레거시 시스템

물리적 크기 차이는 놀라울 정도로 큽니다. Peak Technologies에 따르면, 데이터 문자열이 15자를 초과하면 Code 39에서 Code 128으로 전환해야 합니다. Code 39로 인코딩한 20자 ID는 표준 2인치 라벨에 들어맞지 않을 수 있지만, Code 128은 컴팩트하게 유지됩니다.

같은 데이터에서 Code 128이 Code 39보다 훨씬 짧은 크기 비교

현대 스캐너(에어리어 이미저와 스마트폰 앱)는 두 포맷 모두 쉽게 읽습니다. 하지만 Code 128은 내장된 오류 감지 기능이 대량 처리 환경에서 잘못된 판독을 방지하므로 신뢰성 면에서 우위에 있습니다.

데이터 밀도: 왜 중요한가

데이터 밀도란 바코드 1인치당 들어가는 문자 수를 말합니다. Wikipedia에 따르면 Code 128은 바와 여백에 네 가지 너비를 사용하고, Code 39는 두 가지만 사용합니다. 이 정밀함 덕분에 숫자 데이터에서 Code 128은 대략 2배 밀도를 가지며, 의료용 바이알이나 소형 전자제품처럼 작은 품목에 사용할 수 있는 유일한 1D 바코드인 경우가 많습니다.

문자 지원

  • Code 39 (표준): 43개 문자 — 대문자 A–Z, 숫자 0–9, 그리고 일부 기호 (-, ., $, /, +, %, 공백).
  • Code 128: 모든 128 ASCII 문자 — 대문자, 소문자, 기호, 그리고 캐리지 리턴 같은 제어 문자까지.
  • Code 39 Extended: 문자 쌍으로 소문자를 인코딩할 수 있습니다 (예: 소문자 “a”는 “+A”). 하지만 Peak Technologies가 지적하듯, 이는 “공간 낭비”이며 바코드를 불필요하게 길게 만듭니다.

왜 Code 128이 현대 물류 표준인가

Code 128은 GS1-128 표준을 통해 글로벌 배송을 뒷받침합니다. GS1-128은 “Application Identifier”를 사용해 배치 번호, 유통기한, 일련번호 같은 데이터를 구조화합니다.

필수 체크디지트 (Modulo 103)

Code 39에서 체크섬은 선택 사항입니다. 반면 Code 128에서는 내장되어 있습니다. 바코드가 계산된 값을 추가하고 스캐너가 매 판독 시 이를 검증합니다. 이는 바쁜 창고 환경에서 “잘못된” 스캔의 위험을 사실상 제거합니다.

Code Set A, B, C를 통한 최적화

Code 128은 세 가지 내부 모드를 전환하며 컴팩트함을 유지합니다.

Code Set 최적화 대상 주요 장점
A 대문자 + 제어 코드 산업 응용
B 표준 영숫자 + 소문자 범용 텍스트
C 숫자 전용 데이터 기호당 2자리 숫자 — 숫자에 가장 효율적

Wikipedia에 따르면 Code Set C는 두 자리 숫자를 하나의 바코드 기호에 압축합니다. 긴 숫자 문자열에는 놀라울 정도로 효율적입니다. Steven Skiena의 연구에 따르면, 스마트한 Code Set 선택은 정적 설정을 사용할 때보다 평균 8% 작은 바코드를 만들 수 있습니다.

Code Set C가 두 자리 숫자를 하나의 기호로 묶는 방식을 보여주는 간단한 시각화

Code 39는 여전히 의미가 있나

Code 39는 단순하고 관대하기 때문에 2026년에도 여전히 자리 잡고 있습니다. “셀프 체크” 방식입니다. 문자 사이의 간격이 오류를 격리하는 데 도움을 주어 저해상도 프린터나 구형 산업용 스캐너에서도 잘 작동합니다.

Code 39는 여전히 다음 곳에서 찾을 수 있습니다.
미국 국방부 (LOGMARS 표준)
의료 내부 추적
자동차 레거시 시스템

문제는 Code 39 Extended에서 발생합니다. 소문자 “a” 하나를 인코딩하려면 “+A”를 출력해야 합니다. 즉, 바코드 길이가 두 배가 됩니다. 추적 ID에 대소문자가 혼용된다면 Code 39 Extended는 좋은 선택이 아닙니다.

기술 사양: X-Dimension과 Quiet Zone

바코드가 얼마나 잘 스캔되는지는 X-Dimension, 즉 가장 좁은 바의 너비에 달려 있습니다. GS1 2026 표준에 따르면 소매 체크아웃용 최소 X-Dimension은 0.264 mm (0.0104 inches) 입니다.

두 포맷 모두 Quiet Zone도 필요합니다. 이는 바코드 양 끝의 빈 여백으로, 가장 좁은 바 너비의 최소 10배여야 합니다. 이것이 없으면 스캐너가 바코드의 시작과 끝을 판단할 수 없습니다.

스캐너 호환성

스캐너 유형 가장 잘 작동하는 대상 비고
레이저 스캐너 더 길고 키가 큰 바코드 모든 바에 걸쳐 명확한 레이저 경로 필요
에어리어 이미저 (2026 표준) 두 포맷 모두, 고밀도 Code 128 포함 손상되거나 기울어진 라벨도 판독 가능
스마트폰 카메라 두 포맷 모두 iOS/Android에서 기본 지원

Gitnux 2024에 따르면 소매 부문은 전 세계 일일 스캔의 42%를 처리하며, 이것이 산업 전반이 더 신뢰할 수 있는 에어리어 이미징 표준으로 이동하는 이유입니다.

결론

Code 39는 단순하고 짧은 내부 추적 ID, 특히 구형 스캐너가 있는 레거시 시스템에 적합합니다. Code 128은 그 외 모든 경우의 명확한 선택입니다. 더 작고, 더 많은 문자를 지원하고, 필수 오류 검사를 포함하며, 현대 물류의 핵심입니다.

결정 기준:
– 데이터가 10–15자 미만이고 대문자만 사용 → Code 39 허용 가능
– 그보다 길거나 대소문자 혼용 / 기호 포함 → Code 128
– GS1-128 규정 준수 필요 → Code 128 (다른 선택지 없음)

라벨을 설계할 때는 가장 좁은 바가 0.264 mm GS1 표준을 충족하도록 해 전 세계 어디서나 판독성을 보장하세요.

FAQ

Code 39로 소문자를 인코딩할 수 있나요?

표준 Code 39는 대문자, 숫자, 일부 기호만 지원합니다. 소문자를 인코딩하려면 문자 쌍을 사용하는 Code 39 Extended가 필요합니다 (예: “a”는 “+A”). 이는 바코드의 물리적 길이를 크게 늘려 Code 128보다 훨씬 비효율적입니다.

왜 Code 128이 Code 39보다 더 “밀도가 높나요?

Code 128은 네 가지 바/여백 너비를 사용하고 (Code 39는 두 가지), Code Set C가 기호당 두 자리 숫자를 인코딩합니다. 덕분에 숫자 데이터에서 Code 128은 Code 39보다 대략 2배 밀도가 높아 귀중한 라벨 공간을 절약합니다.

Code 39 바코드에 체크디지트가 필요한가요?

Code 39에서는 선택 사항이지만, 중요한 환경에서는 권장됩니다. Code 128은 사양에 필수 Modulo 103 체크섬이 내장되어 있어 대량 스캔 환경에서 본질적으로 더 신뢰할 수 있습니다.

라벨 공간이 제한된 소형 품목에는 어떤 바코드가 더 좋나요?

Code 128입니다. 더 높은 밀도 덕분에 Code 39 바코드가 비좁고 스캔하기 어려운 동일한 물리적 공간에서 더 큰 X-Dimension(스캐너가 읽기 쉬운)으로 출력할 수 있습니다.

코멘트

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다