착한라벨 디자이너에서 GS1-128과 GS1 DataMatrix 라벨은 ① 바코드 종류 고르기 → ② GS1 데이터 설정 창에 응용식별자(AI)와 번호 넣기 → ③ 고정 길이 AI를 앞에, 가변 길이 AI를 맨 뒤에 놓기 → ④ 날짜·로트가 바뀌면 엑셀 열 연결 → ⑤ 막대 폭을 GS1 규격표의 X에 맞춰 프린터 점 수로 정하기 → ⑥ 스캔 확인, 6단계로 만듭니다.
GTIN을 어디서 발급받는지, 상품·박스·팔레트에 어느 바코드를 쓰는지는 GS1 유통표준코드 기초(info.woojuoa.co.kr)에 정리돼 있습니다.
착한라벨 디자이너 GS1 데이터 설정 창
- 도구 패널 바코드에서 GS1-128 또는 GS1 Data Matrix를 고릅니다.
- 속성 패널 일반 탭 데이터 칸의 GS1 데이터 설정... 버튼을 누르면 "GS1 데이터 설정 - GS1-128" 창이 열리고, 첫 줄은 (01)로 시작합니다.
- AI 코드 선택에서 AI를 고르면 형식과 예시가 표시되고, 입력 칸에 번호를 넣습니다. 줄은 AI 코드 추가로 늘립니다.
- 창 아래 생성된 GS1 코드에서 (01)…(17)…(10)… 전체 문자열을 확인하고 확인을 누릅니다.
(01)과 (02) 칸은 체크 숫자를 스스로 계산합니다. 숫자 13자리를 넣으면 GTIN-14의 앞 13자리로 보고 체크 숫자 1자리를 덧붙이고, 14자리를 넣으면 마지막 자리를 계산한 체크 숫자로 바꿔 넣습니다. 그래서 GTIN-13 13자리를 그대로 넣으면 전혀 다른 14자리 번호가 만들어지므로, 앞에 0을 붙인 14자리를 한 번에 붙여 넣습니다. 한 글자씩 칠 때는 13자리째에서 체크 숫자가 바로 붙으니 0880123456789까지만 칩니다. (00) SSCC 칸도 17자리·18자리를 같은 방식으로 처리합니다.
베타 항목인 GS1_128(NEW)와 GS1DATAMATRIX(NEW)는 입력 형식(괄호 AI, AI 번호와 GS 구분 문자를 이은 원문), 체크 숫자 처리(계산·검증), AI 연계 규칙 검사를 따로 고릅니다. 이쪽의 체크 숫자 처리는 잘못된 체크 숫자를 자동으로 고치지 않습니다. 바코드 너비도 한 단계가 프린터 점 1개이고 "0.5 mm · 4 dot"처럼 mm와 점 수를 함께 보여 주므로, 아래 규격표의 X를 점 단위로 맞출 때 편합니다.
GS1 데이터 설정 창에 넣는 AI 7개 형식
| AI | 내용 | 형식 | 입력 예 |
|---|---|---|---|
| (00) | SSCC, 팔레트·박스 같은 물류 단위 번호 | 숫자 18자리 고정 | (00)088012345000000012 |
| (01) | GTIN, 상품 식별 번호 | 숫자 14자리 고정 | (01)08801234567893 |
| (10) | 배치·로트 번호 | 영숫자 최대 20자 | (10)LOT2609A |
| (11) | 생산 날짜 | YYMMDD 6자리 | (11)260930 |
| (15) | 품질 유지 기한 | YYMMDD 6자리 | (15)270331 |
| (17) | 사용 기한(유효 기한) | YYMMDD 6자리 | (17)270930 |
| (21) | 일련번호 | 영숫자 최대 20자 | (21)SN000125 |
13자리 GTIN-13은 (01)에 넣을 때 앞에 0을 붙여 14자리로 만듭니다. 8801234567893이면 08801234567893이 되고, 앞의 0은 체크 숫자 계산에 영향을 주지 않아 끝자리는 그대로입니다.
날짜 AI의 일(DD)을 00으로 두면 그 달의 마지막 날로 읽힙니다. 다만 의료 제품은 2025년 1월 1일부터 00 대신 31 같은 실제 날짜를 넣습니다.
AI 입력 순서와 FNC1 구분 문자
(00), (01), (02), (11)~(17), (20)은 길이가 미리 정해진 AI라 뒤에 다른 AI가 붙어도 구분 문자가 필요 없습니다. (10), (21)처럼 길이가 변하는 AI 뒤에 다른 AI가 이어지면 FNC1(스캐너에는 ASCII 29번 GS 문자로 전달) 구분 문자가 들어가야 하므로, 가변 길이 AI는 맨 뒤에 놓습니다. (10)과 (21)을 함께 넣으면 둘 사이의 구분 문자 1개는 피할 수 없습니다.
- 좋은 순서: (01)08801234567893(17)270930(10)LOT2609A — 구분 문자 0개입니다.
- 피할 순서: (01)08801234567893(10)LOT2609A(17)270930 — (10) 뒤에 구분 문자 1개가 더 들어가 바코드가 길어집니다.
사람이 읽는 글자(HRI)에는 AI를 괄호로 묶어 표시하고, 괄호 자체는 바코드에 담기지 않습니다. 디자이너 GS1 데이터 설정에 괄호 표기로 넣으면 FNC1은 바코드를 만들 때 자동으로 붙습니다.
엑셀 데이터로 GS1 라벨 여러 장 만들기
바코드에 엑셀 열을 연결하면 GS1 데이터 설정 버튼은 잠기고, 열 내용이 그대로 바코드 데이터가 됩니다. 엑셀에 (01)08801234567893(17)270930(10)LOT2609A 같은 전체 문자열 열을 하나 만들어 바코드의 연결 필드로 고르는 방식이 가장 확실합니다. GTIN이 A열, 유효 기한이 B열, 로트가 C열이면 ="(01)"&A2&"(17)"&TEXT(B2,"yymmdd")&"(10)"&C2 로 이어 붙입니다. 데이터 결합 블록으로 이을 때는 날짜 변환이 적용되지 않으므로, 날짜 열을 미리 6자리 숫자로 만들어 둡니다.
| 인쇄 창 검사 (GS1-128·GS1 Data Matrix 항목) | 결과 |
|---|---|
| (01)·(02)가 14자리 숫자가 아님 | 오류, 그 행은 선택 불가 |
| (00)이 18자리 숫자가 아님 | 오류, 선택 불가 |
| (11)(12)(13)(15)(17)이 6자리 숫자가 아님 | 오류, 선택 불가 |
| GTIN·SSCC 체크 숫자가 계산과 다름 | 경고만 표시, 인쇄는 됨 |
(NEW) 항목은 이 표의 검사 대신 바코드를 만들 때 체크 숫자까지 확인해 틀리면 오류를 냅니다. 일반 항목의 체크 숫자 불일치는 인쇄를 막지 않으므로, 엑셀의 GTIN 열은 불러오기 전에 발급 번호와 한 번 대조합니다. 행 선택과 수량 열은 Excel·CSV 대량 인쇄에 정리했습니다.
GS1 규격표의 X치수를 프린터 점 수로 맞추기
| GS1 규격표 (5.12.3) | 막대·셀 폭 X | 최소 높이 | 여백 | 최소 품질 |
|---|---|---|---|---|
| 물류 단위 GS1-128 (표 5) | 0.495~0.940mm | 31.75mm | 좌우 10X | 1.5/10/660 |
| 의료 비소매 GS1-128 (표 6) | 0.170~0.495mm | 12.70mm | 좌우 10X | 1.5/06/660 |
| 의료 비소매 GS1 DataMatrix (표 6) | 0.254~0.990mm, 목표 0.380mm | 데이터 양으로 정해짐 | 4면 1X | 1.5/08/660 |
최소 품질 1.5/10/660은 등급 1.5(C) 이상, 측정 구경 10mil(0.25mm), 660nm 빛으로 잰다는 뜻입니다. 물류 GS1-128의 최소 X 0.495mm는 203dpi 4점(0.500mm), 300dpi 6점(0.508mm)으로 맞추고, 300dpi 5점(0.423mm)은 기준 아래입니다. 의료 비소매 GS1-128은 300dpi 2점이 0.169mm로 최소 0.170mm에 0.001mm 모자라 3점부터 씁니다. 일반 GS1 Data Matrix 항목은 모듈 크기를 0.1mm 단위로 넣으므로, 목표 0.380mm에 가장 가까운 0.4mm를 넣습니다.
GS1-128 한 개에는 데이터 문자 48자까지, 여백 포함 길이 165.10mm까지 들어갑니다. (01)(17)(10)에 로트 20자를 꽉 채우면 AI 숫자까지 46자로 한계에 가까우므로, 더 넣을 정보는 GS1-128을 2줄로 나누거나 GS1 DataMatrix로 옮깁니다.
2D 이미저로 스캔 확인
GS1 DataMatrix는 2D 이미저로만 읽힙니다. 제브라 DS2208은 Data Matrix를 6.0mil(약 0.152mm)까지 읽으므로 목표 0.380mm 셀은 여유가 있습니다. 스캐너를 메모장에 연결해 읽으면 괄호 없이 01과 14자리 GTIN, 17과 6자리 날짜, 10과 로트 번호가 이어진 문자열이 나오고, 이 순서와 자리수가 엑셀 원본과 같은지 봅니다. 막대 폭·여백·농도 문제는 바코드가 안 읽힐 때의 점검표로 넘어갑니다.

