바코드 규격의 이해와 인코딩 방법
이 생성기가 하는 일
바코드는 상품 코드, SKU, 로트 번호 같은 짧은 문자열을 스캐너가 읽을 수 있는 막대와 공백의 패턴으로 압축한 것입니다. 이 생성기는 입력한 값을 JsBarcode 라이브러리로 인코딩해 결과를 실시간 SVG로 그려 냅니다. 지원하는 규격은 Code 128, Code 39, EAN-13, EAN-8, UPC, ITF-14, MSI, Pharmacode의 8종이며, 각 규격은 저마다 다른 규칙으로 데이터를 인코딩합니다. 어떤 규격이 맞는지 확실치 않을 때는 Auto Detect 모드가 입력을 분석해 호환되는 규격을 골라 줍니다.
막대 자체 외에도 막대 너비, 높이, 여백, 선과 배경 색상, 그리고 아래에 인쇄되는 사람이 읽는 값까지 조절할 수 있습니다. 배치가 마음에 들면 일상용으로는 PNG로 내려받고, 어떤 크기에서도 선명함을 유지해야 하는 인쇄물에는 SVG로 복사하면 됩니다.
알맞은 규격 고르기
어떤 형식을 고를지는 바코드를 어디서 스캔하는지에 달려 있습니다. Code 128은 영문자와 기호를 포함한 ASCII 전체를 인코딩하므로 사내 라벨에 두루 쓰기 좋은 만능 선택지입니다. Code 39는 구형 스캐너가 흔한 산업·방산 현장에서 여전히 쓰입니다. 매장에서 파는 상품에는 소매용 규격이 해당하는데, 국제 유통 제품에는 EAN-13과 EAN-8을, 미국에는 UPC를 사용합니다. ITF-14는 배송용 외장 상자에, MSI는 창고 선반 라벨에 등장하며, Pharmacode는 의약품 포장 전용 규격입니다.
구체적인 예시
590123412345를 입력하고 EAN-13을 선택해 봅니다. 이 규격은 숫자 12자리와, 앞 12자리로부터 계산되는 13번째 체크 디지트를 요구합니다. 값이 맞지 않으면 도구는 잘못된 코드를 그리는 대신 올바른 체크 디지트를 알려 주므로 인쇄 전에 고칠 수 있습니다. Pharmacode는 또 다릅니다. 3부터 131070까지의 숫자만 받아들이고 그 범위를 벗어난 값은 모두 거부합니다.
참고 사항과 엣지 케이스
규격마다 고유한 길이·문자 규칙이 있습니다. EAN-8은 7~8자리를, MSI는 숫자만을 요구하고, Code 39는 A~Z, 0~9와 소수의 기호를 허용합니다. 입력이 규칙을 어기면 잘못된 문자인지, 길이 불일치인지, 체크 디지트 오류인지 그 자리에서 메시지가 짚어 줍니다. 인쇄되는 값을 숨기거나 왼쪽·가운데·오른쪽으로 다시 정렬할 수 있고, 라벨을 좁은 공간에 맞춰야 할 때는 글꼴 크기도 조정할 수 있습니다.