바코드 생성기
Code128·EAN-13·UPC-A 바코드 생성 (SVG·PNG)
숫자·영문·기호 모두 가능(인쇄 가능 ASCII). 물류·재고 관리에 흔히 쓰입니다.
숫자 12~13자리. 12자리면 13번째 체크 디지트를 자동 계산하고, 13자리면 체크 디지트를 검사합니다. 국내외 상품 바코드 표준.
숫자 11~12자리. 11자리면 12번째 체크 디지트를 자동 계산하고, 12자리면 체크 디지트를 검사합니다. 북미 상품 바코드 표준.
값을 입력하면 실시간으로 바코드가 생성됩니다.
처리 중…
0.0
멈춘 것이 아닙니다. 계산이 끝나면 결과가 표시됩니다.
바코드 생성기 소개
이 도구는 세 가지 1차원 바코드를 만듭니다. 상품 포장에 찍히는 EAN-13, 북미 상품용 UPC-A, 그리고 영문·숫자·기호를 자유롭게 담는 Code 128입니다. 앞의 둘은 「어떤 상품인가」를 나타내는 번호 체계에 묶여 있고, Code 128은 창고 위치, 송장 번호, 사내 자산 번호처럼 형식이 자유로운 값에 씁니다.
셋은 목적이 다르므로 고르는 기준도 다릅니다. 마트 계산대에서 찍혀야 하는 상품이라면 GS1에서 받은 번호로 EAN-13을 만들어야 하고, 내부 관리용 라벨이라면 Code 128이 맞습니다.
EAN-13 체크 디지트 직접 계산하기
EAN-13의 마지막 자리는 앞 12자리로 계산하는 검증용 숫자입니다. 왼쪽부터 홀수 번째 자리에는 1, 짝수 번째 자리에는 3을 곱해 모두 더하고, 그 합을 10의 배수로 올리는 데 필요한 수가 체크 디지트입니다. 스캐너는 읽은 13자리로 같은 계산을 해 보고 맞지 않으면 그 판독을 버립니다. 그래서 한 자리를 잘못 읽는 오류는 대부분 걸러집니다.
이 도구에 12자리를 넣으면 체크 디지트를 붙여 주고, 13자리를 넣었는데 마지막 자리가 계산과 다르면 바코드를 만들지 않고 입력값과 계산값을 함께 보여 줍니다. 이때는 체크 디지트보다 다른 자리를 잘못 입력했을 가능성이 더 큽니다. 마지막 자리만 계산값으로 바꿔 인쇄하면 원래와 다른 번호의 바코드가 되므로, 원본 번호를 먼저 다시 확인하세요.
880으로 시작하면 한국산일까
EAN-13 앞 2~3자리는 GS1 접두어로, 번호를 발급한 GS1 회원 기관을 나타냅니다. 880은 GS1 Korea, 450~459와 490~499는 GS1 Japan, 840~849는 GS1 Spain입니다. 978·979는 ISBN 도서(Bookland), 977은 ISSN 정기간행물, 200~299는 매장 내부용으로 쓰는 제한 유통 번호입니다.
흔한 오해와 달리 이 접두어는 원산지가 아닙니다. 한국 회사가 해외 공장에서 만든 제품에도 880 번호가 붙고, 외국 회사가 한국 공장에서 만든 제품에는 그 회사 나라의 접두어가 붙습니다. GS1 스스로도 접두어가 원산지를 뜻하지 않는다고 밝히고 있습니다.
또 하나: 이 도구로 아무 13자리나 만들 수는 있지만, 그 번호가 유통망에서 인정되려면 GS1 회원으로 가입해 업체 코드를 받아야 합니다. 임의 번호는 다른 회사 상품 번호와 겹칠 수 있습니다.
UPC-A는 앞에 0이 숨은 EAN-13
UPC-A는 12자리이고, 앞에 0을 하나 붙이면 그대로 EAN-13이 됩니다. 막대 모양도 같아서 EAN-13 스캐너는 UPC-A를 문제없이 읽습니다. 체크 디지트 역시 0을 붙인 13자리 기준으로 계산하며, 이 도구도 그렇게 처리합니다. 11자리를 넣으면 체크 디지트를 붙여 12자리로 만듭니다.
Code 128: 숫자가 길면 막대가 짧아진다
Code 128은 한 글자를 11모듈 폭의 기호 하나로 나타내며, 세 가지 코드 세트를 갖습니다. 이 도구는 영문·숫자·기호(ASCII 32~126)를 담는 B 세트와 숫자 두 자리를 기호 하나에 담는 C 세트를 자동으로 오갑니다. 숫자가 4자리 이상 이어지면 C로 바꾸므로 긴 숫자 번호는 같은 길이의 영문보다 폭이 거의 절반으로 줄어듭니다.
끝에는 mod 103 체크 기호가 붙습니다. 시작 기호 값에 각 기호 값×자리 번호를 더한 뒤 103으로 나눈 나머지입니다. 사람이 읽는 글자 아래에는 표시되지 않지만 스캐너는 이것으로 오독을 걸러냅니다. 한글이나 줄바꿈 같은 제어 문자는 B·C 세트에 없어서 넣을 수 없고, 입력은 80자로 제한됩니다.
예시
EAN-13 체크 디지트 검산
- 입력
앞 12자리 880123456789- 결과
8801234567893
가중치 1·3을 번갈아 곱하면 8+24+0+3+2+9+4+15+6+21+8+27 = 127. 130까지 3이 모자라므로 체크 디지트는 3입니다.
Code 128의 세트 전환
- 입력
ABC-1234567- 결과
기호 13개 + 정지 기호, 총 145모듈 (체크 값 67)
ABC-는 B 세트, 123456은 C 세트 세 기호, 남은 홀수 자리 7은 다시 B 세트로 갑니다. 체크 값은 104+33×1+34×2+35×3+13×4+99×5+12×6+34×7+56×8+100×9+23×10 = 2745를 103으로 나눈 나머지 67입니다.
숫자 전용일 때의 폭
- 입력
12345678 / ABC-123 (둘 다 Code 128)- 결과
79모듈 / 112모듈
8자리 숫자는 C 세트 네 기호로 끝나 7자 영문보다 좁습니다. 좁은 라벨에 넣을 번호라면 숫자만 쓰는 편이 유리합니다.
UPC-A
- 입력
03600029145- 결과
036000291452
앞에 0을 붙인 003600029145 기준으로 계산한 체크 디지트 2가 붙습니다.
사용 방법
- 형식을 고릅니다. 상품 번호는 EAN-13 또는 UPC-A, 그 밖의 값은 Code 128.
- 값을 입력합니다. EAN-13은 12자리, UPC-A는 11자리만 넣어도 체크 디지트가 붙습니다.
- 막대 높이와 여백을 조정합니다. 좌우 여백은 스캐너가 시작점을 찾는 데 필요하니 줄이지 않습니다.
- PNG 또는 SVG로 받아 실제 스캐너나 휴대폰 앱으로 읽어 봅니다.
자주 묻는 질문
만든 바코드를 판매 상품에 써도 되나요?
막대 자체는 규격대로 만들어지지만, 유통망에서 쓰려면 번호가 GS1에서 발급받은 것이어야 합니다. 임의 번호는 다른 상품과 겹칠 수 있고 대형 유통사는 등록되지 않은 번호를 받지 않습니다.
한글을 넣었더니 오류가 나요.
Code 128이 담을 수 있는 문자는 ASCII 범위뿐입니다. 한글이 필요하면 UTF-8을 지원하는 QR 코드를 쓰는 것이 맞습니다.
색을 바꿔도 되나요?
스캐너는 대개 붉은빛으로 막대와 바탕의 반사율 차이를 봅니다. 빨간 막대는 붉은 조명 아래 바탕과 구분되지 않아 읽히지 않을 수 있으니, 어두운 막대와 밝은 바탕을 유지하세요.
13자리를 넣었더니 바코드가 안 나와요.
마지막 자리(체크 디지트)가 앞 12자리로 계산한 값과 달라서입니다. 도구는 이 경우 멋대로 고치지 않고 두 값을 알려 줍니다. 제품에 이미 인쇄된 번호라면 다른 자리를 잘못 옮겨 적었을 가능성이 높으니 원본을 다시 확인하세요. 앞자리가 확실하면 마지막 자리를 지우면 자동 계산됩니다.
출처
- GS1 — GS1 Company Prefix
- GS1 — Check digit calculator (method)
- Wikipedia — List of GS1 country codes
- Wikipedia — Code 128
기준일: