ZeroTool Workbench
바코드 생성기
EAN-13, EAN-8, UPC-A, Code 128, Code 39, ITF-14, Codabar 바코드를 브라우저에서 생성합니다. 체크 디지트 자동 계산, SVG·PNG 내보내기, 업로드 없음.
사용 방법
- 용도에 맞는 심볼로지를 선택합니다.
- 데이터를 입력하거나 붙여넣습니다. 입력란 아래 안내에 허용 문자와 자릿수가 표시됩니다.
- 상태 표시줄을 확인합니다. 추가되거나 검증된 체크 디지트를 알려주고, 입력이 잘못된 경우에는 무엇이 문제인지 짚어 줍니다.
- 라벨 크기에 맞춰야 한다면 바 너비와 바 높이를 조정합니다.
- PNG나 SVG를 다운로드하거나, SVG 마크업을 그대로 복사해 템플릿에 붙여넣습니다.
심볼로지 선택
| 심볼로지 | 입력 | 주요 용도 |
|---|---|---|
| EAN-13 | 숫자 12자리 | 전 세계 소매 상품. KAN(국가코드 880), ISBN-13, ISSN, JAN 포함 |
| EAN-8 | 숫자 7자리 | EAN-13을 넣을 자리가 없는 소형 포장 |
| UPC-A | 숫자 11자리 | 북미 소매 상품 |
| Code 128 | ASCII 0-127 | 물류, 창고, 사내 자산 라벨 |
| Code 39 | 0-9, A-Z, 공백, - . $ / + % | 산업 설비, 자동차, 방산 시스템 |
| ITF-14 | 숫자 13자리 | 배송 박스와 팔레트 단위 물류 코드 |
| Codabar | 0-9와 - $ : / . + | 도서관, 혈액원, 택배 라벨 |
소매 상품이라면 번호 체계가 심볼로지를 결정합니다. GTIN-13은 EAN-13, GTIN-12는 UPC-A로 만들어야 합니다. 국내 상품에 부여되는 KAN은 앞 세 자리가 국가코드 880일 뿐 규격 자체는 EAN-13과 동일하므로, 880으로 시작하는 12자리를 그대로 EAN-13에 입력하면 됩니다. 사내 관리용이라면 문자·숫자·기호를 한 심볼에 압축해 담는 Code 128이 무난한 기본값입니다.
Code 128은 입력에 따라 서브셋 A·B·C를 자동으로 전환하므로 숫자가 길게 이어질수록 심볼이 짧아집니다. Code 39는 소문자를 입력하면 규격에 맞게 대문자로 변환합니다. Codabar는 A·B·C·D 시작·종료 문자로 데이터를 감싸는 규격이며, 이를 빼고 입력하면 앞뒤에 A와 B를 붙여 완성합니다.
체크 디지트 계산
EAN-13, EAN-8, UPC-A, ITF-14는 같은 계산식을 씁니다. 데이터의 맨 오른쪽 자리부터 왼쪽으로 3, 1, 3, 1 순서의 가중치를 곱해 더한 뒤, 그 합을 다음 10의 배수까지 채우는 값이 체크 디지트입니다.
체크 디지트 = (10 - (가중합 mod 10)) mod 10
데이터가 590123412345이면 가중합이 83이므로 체크 디지트는 7이고 완성된 EAN-13은 5901234123457입니다. 같은 방식으로 KAN 데이터 880123456789는 가중합이 127이 되어 체크 디지트 3이 붙고 8801234567893이 됩니다.
Code 128은 자체 모듈로 103 체크 심볼을 쓰며, 이 값은 자동으로 계산되어 코드에 포함되고 판독용 텍스트에는 나타나지 않습니다. Code 39에는 선택적인 모듈로 43 검사 문자가 있어 일부 폐쇄형 시스템에서 요구합니다. 받는 쪽 시스템이 요구할 때만 켜세요. 검사 문자를 예상하지 않는 스캐너는 이 문자를 데이터의 일부로 읽어 버립니다.
인쇄와 스캔 성공률
인쇄한 바코드가 실제 스캐너에서 읽히는지는 두 가지 설정이 좌우합니다. 첫째는 바 너비입니다. 가장 좁은 바가 프린터 해상도보다 가늘면 판독이 실패하므로, 감열 라벨이라면 내보낼 크기 기준으로 모듈당 최소 2px를 확보하세요. 둘째는 여백(quiet zone)입니다. 코드 좌우의 빈 공간을 말하며, 이 도구는 여백을 포함한 상태로 이미지를 내보냅니다. 여백을 잘라내지 말고, 상자 모서리나 다른 인쇄물에 바짝 붙이지 마세요.
바 높이는 판독 자체보다 각도에 영향을 줍니다. 심볼이 높을수록 비스듬히 읽어도 성공률이 올라갑니다. 라벨이 훼손됐을 때 사람이 번호를 직접 입력해야 하는 용도라면 판독용 텍스트 표시를 켜 두세요. ITF-14는 규격대로 심볼 위아래에 베어러 바를 함께 그려 인쇄 번짐으로 인한 부분 판독을 막습니다.
세 번째 제약은 길이이며, 가변 길이 심볼로지에만 해당합니다. 휴대용 스캐너는 시야에 들어온 만큼만 읽기 때문에, 데이터가 너무 길면 규격상 아무 문제 없는 심볼이라도 한 번에 읽히지 않습니다. Code 128이 48자, Code 39와 Codabar가 43자를 넘으면 상태 표시줄이 이를 알려 줍니다. 바코드는 그대로 생성되며, 이 안내는 시야가 더 넓은 스캐너를 쓰거나 데이터를 줄여야 한다는 신호입니다.
지원 범위의 경계
이 도구가 인코딩하는 것은 위 일곱 가지 심볼로지입니다. UPC-E는 여기에 포함되지 않습니다. UPC-A에서 0을 압축한 인쇄용 변형이고 스캐너가 읽으면 같은 12자리 숫자로 되돌아가므로, UPC-A로 생성하면 됩니다. 잡지 호수나 도서 가격을 담는 EAN 2자리·5자리 부가기호는 별도의 보조 심볼이라 범위 밖입니다. Code 128은 입력을 문자 그대로 인코딩합니다. 괄호로 표기한 GS1-128 애플리케이션 식별자는 해석 대상이 아닌 일반 문자로 처리되며 FNC1 구분자도 삽입되지 않습니다. 목록을 한꺼번에 처리해야 한다면 로컬 스크립트에서 바코드 라이브러리를 돌리세요.
개인정보 보호
모든 처리는 클라이언트에서 실행됩니다. ZeroTool에는 이 도구를 위한 업로드 경로가 없습니다. 심볼로지 테이블, 체크 디지트 계산, SVG 렌더링, PNG 변환이 전부 브라우저 안에서 끝납니다. 마지막 입력은 브라우저 로컬 저장소에 보관되어 다음 방문 때 복원되며, 초기화를 누르면 저장 항목도 삭제됩니다.
FAQ
어떤 심볼로지를 만들 수 있나요?
EAN-13, EAN-8, UPC-A, Code 128, Code 39, ITF-14, Codabar 일곱 가지입니다. 국내 유통에서 쓰는 KAN(국가코드 880)은 물론 ISBN-13, ISSN, JAN도 EAN-13과 같은 인코딩을 쓰므로 EAN-13으로 생성하면 됩니다.
체크 디지트를 직접 계산해서 넣어야 하나요?
아닙니다. EAN-13, EAN-8, UPC-A, ITF-14는 데이터 자릿수만 입력하면 마지막 체크 디지트를 계산해 붙입니다. 체크 디지트까지 포함된 전체 코드를 붙여넣으면 값이 맞는지 검증하고, 틀렸을 때는 올바른 숫자를 알려줍니다.
바 색상과 배경색은 왜 바꿀 수 없나요?
스캐너는 어두운 바와 밝은 배경의 명암 차이로 코드를 읽습니다. 대비가 낮은 색 조합은 인쇄된 바코드가 읽히지 않는 가장 흔한 원인이라서, 이 도구는 검정 바에 흰 배경을 고정해 출력물이 항상 판독 가능하도록 했습니다.
입력한 상품 데이터가 서버로 전송되나요?
아닙니다. 인코딩, 렌더링, 내보내기가 모두 브라우저에서 실행됩니다. 입력한 SKU, GTIN, 관리 번호는 기기 밖으로 나가지 않습니다.
SVG와 PNG 중 무엇으로 내보내야 하나요?
인쇄용이나 크기를 조정할 용도라면 SVG를 쓰세요. 어떤 배율에서도 바 경계가 선명하게 유지됩니다. 래스터 이미지만 받는 프로그램에는 PNG를 쓰면 되며, 화면 크기의 4배로 렌더링하므로 좁은 바도 뭉개지지 않습니다.