도구
가이드

바코드 생성기

QR

1D 바코드(CODE128, EAN, UPC, CODE39 등)를 PNG 또는 SVG로 생성합니다.

100% 클라이언트 백엔드 없음
미리보기
이 페이지에서

바코드 생성기란?#

1D 바코드는 모든 제품 포장, 운송 라벨, 이벤트 티켓에서 여전히 보이는 수직 검은 막대의 줄입니다. 2D인 QR 코드(수백 바이트를 담음)와 달리 1D 바코드는 짧은 식별자 — 보통 4~14자 — 를 담으며, 레이저 스캐너나 휴대폰 카메라가 단일 가로 스윕으로 읽습니다. 이 페이지는 가장 흔한 11종의 심볼 체계를 브라우저에서 렌더링하고 결과를 PNG 또는 SVG로 내보냅니다.

포맷이 이렇게 많은 이유는 각각 다른 산업 제약을 위해 설계되었기 때문입니다. EAN-13과 UPC는 소매 표준입니다. 고정 길이, 숫자 전용, 수학적으로 계산된 체크 디지트를 가져 스캐너가 잘못 읽기를 거부할 수 있습니다. CODE128은 임의 ASCII 텍스트를 담으며 운송(예: 운송장 번호)의 일꾼입니다. CODE39는 배지와 자산 태그에서 여전히 쓰이는 레거시 영숫자 포맷입니다. ITF-14는 14자리 운송 컨테이너 코드를 인코딩합니다. Pharmacode는 단일 정수(3~131070)를 제약 포장용의 작은 심볼로 압축합니다. MSI, codabar, EAN-5, EAN-2가 틈새 케이스를 채웁니다.

이 페이지는 JsBarcode를 감싸며, 래스터 출력을 위해 <canvas>에, 벡터 출력을 위해 <svg> 요소에 그립니다. 라이브러리에 넘기기 전에 빠른 로컬 검사를 실행하여, 조용한 실패 대신 친절한 메시지(“숫자 전용” 또는 “잘못된 길이”)를 받게 합니다.

사용 방법#

  1. 입력 상자에 값 을 입력하거나 붙여넣습니다. 플레이스홀더 123456789012는 EAN-13 길이를 암시합니다.
  2. 형식 을 고릅니다. 각 심볼 체계는 고유 문자 집합과 길이 규칙이 있습니다. 드롭다운이 11종을 모두 나열합니다(CODE128, CODE39, EAN13, EAN8, UPC, ITF14, MSI, codabar, pharmacode, EAN5, EAN2).
  3. 막대 너비(모듈당 1–4 px)와 높이(60, 100, 150 또는 200 px)를 조정합니다. 좁은 막대는 더 조밀하고 작은 코드를, 더 키 큰 막대는 빗각에서 더 안정적으로 스캔됩니다.
  4. 예제 로 선택한 형식에 유효한 값을 미리 채우거나, 지우기 로 다시 시작합니다. 미리보기가 오른쪽에서 갱신됩니다.
  5. PNG(이미지와 PDF용) 또는 SVG(코드가 어떤 크기에서도 선명해야 하는 인쇄용)로 다운로드합니다.

주요 기능#

  • 한 도구에 11종 심볼 체계. 소매(EAN-13/UPC), 물류(CODE128/ITF-14), 자산(CODE39/MSI), 제약(pharmacode), 애드온(EAN-5/EAN-2) — 사이트를 옮겨 다닐 필요 없이.
  • 체크 디지트를 대신 처리. EAN-13, EAN-8, UPC, ITF-14에 대해 12/7/11/13자리를 주면 체크 디지트가 자동 계산됩니다. 전체 길이를 주면 검증됩니다.
  • 렌더 전 검사. 빈 입력, 숫자 포맷의 비 숫자 문자, 잘못된 길이, CODE39/codabar의 불법 문자를 렌더러 호출 전 에 잡아냅니다.
  • 벡터 SVG 내보내기. 인쇄용 바코드는 절대 래스터화되지 않아야 합니다. SVG는 어떤 라벨 크기에서도 선명합니다.
  • 로컬 동작. JsBarcode가 페이지에 번들되어 백엔드가 없으며 값은 브라우저를 떠나지 않습니다.

사용 예#

12자리 기본 590123412345인 제품이 있고 EAN-13이 필요하다고 합시다. EAN13을 선택하고 590123412345를 붙여넣습니다. 렌더러는 체크 디지트(7)를 계산하고 전체 13자리 바코드를 그립니다. 막대 아래의 사람이 읽을 수 있는 줄은 5901234123457을 표시합니다.

체크 디지트 수학(손으로 검증할 수 있도록): 홀수 위치 숫자의 합 ×1 + 짝수 위치 숫자의 합 ×3을 구하고, (10 − 총합 mod 10) mod 10을 취합니다. 590123412345의 경우 (5+0+2+4+2+4)×1 + (9+1+3+1+3+5)×3 = 17 + 66 = 83이고, 10 − 3 = 7.

운송 라벨의 경우 CODE128로 전환하고 1Z999AA10123456784 같은 임의의 운송장 문자열을 붙여넣습니다. CODE128은 전체 ASCII 범위를 받아들여 문자, 숫자, 하이픈이 모두 직접 인코딩됩니다.

FAQ#

EAN-13이 내 13자리 숫자를 계속 거부합니다. 왜요?#

이미 체크 디지트를 입력했다면 다시 확인하세요. 처음 12자리만 다시 입력하고 도구가 13번째를 붙이게 하세요. 한 자리만 바뀌어도 체크섬이 무효가 되며, 렌더러는 스캔되지 않을 코드를 그리기를 거부합니다.

CODE39 바코드가 스캔되지 않습니다. 무엇이 문제인가요?#

CODE39는 대문자 A–Z, 숫자 0–9, 기호 - . $ / + %(그리고 공백)만 지원합니다. 소문자는 사양의 일부가 아닙니다. 먼저 대문자로 변환하세요. 도구는 렌더링 전에 불법 문자를 “chars” 오류로 표시합니다.

Pharmacode는 무엇이고, 왜 그런 이상한 범위인가요?#

Pharmacode는 제약 포장에 쓰이는 이진 기반 심볼 체계로, 내부 제품 ID에 매핑되는 단일 정수를 인코딩합니다. 유효 범위는 3~131070이며, 이 바깥의 값은 이 형식으로 표현할 수 없습니다.

PNG와 SVG 중 어느 것을 골라야 하나요?#

인쇄로 가는 모든 것(라벨, 포장, 문서)에는 SVG를 — 픽셀화 없이 확장됩니다. 화면 표시, 이메일 서명, 래스터 이미지가 기대되는 PDF에는 PNG가 적당합니다.