번호를 이미지로 바꾸는 바코드 생성기
유형을 고르고 문자나 번호를 입력하면 옆 미리보기가 바뀝니다. 인코딩된 값을 확인한 뒤 크기를 골라 SVG 또는 PNG로 저장하세요.
바코드 미리보기를 준비하고 있습니다.
바로 쓸 수 있게.
- 바로 보이는 화면입력 위치와 결과 위치를 또렷하게 둡니다.
- 결과 먼저핵심 결과를 앞에 두고, 과정은 필요할 때만 보여줍니다.
- 요구 줄이기가입이나 불필요한 정보 입력 없이 바로 쓰게 합니다.
바코드를 만들기 전에 번호와 규격부터 확인하세요
바코드 생성기는 문자나 번호를 스캐너가 읽는 막대와 공백의 패턴으로 바꾸는 도구입니다. CODE128은 관리번호 같은 짧은 문자열에, EAN-13·EAN-8·UPC-A는 해당 규격의 상품번호를 이미지로 만들 때 씁니다. 이 도구에서는 한 번에 한 개를 만들고 SVG 또는 PNG로 저장합니다.
번호와 바코드 이미지는 다릅니다. 상품 식별번호인 GTIN이 먼저 있고, EAN·UPC 바코드는 그 번호를 기계가 읽도록 표현한 것입니다. 이미지를 만들거나 체크디지트 검사를 통과했다고 상품번호가 배정·등록되는 것은 아닙니다. 실제로 사용할 번호와 거래처가 요구하는 규격을 먼저 확인하세요.
CODE128, EAN, UPC 중 무엇을 고르나요?
영문 관리번호라면 CODE128, 이미 정해진 상품번호라면 그 번호에 맞는 EAN 또는 UPC를 고릅니다. 숫자 길이를 맞추려고 다른 규격으로 바꾸면 원래 번호와 다른 뜻이 될 수 있습니다.
- CODE128: 영문 대소문자, 숫자, 일반 기호와 공백을 담습니다. ROBERIN-001 같은 내부 관리번호에 쓸 수 있습니다.
- EAN-13: 완성된 번호는 13자리입니다. 마지막 체크디지트가 없는 12자리를 넣어도 됩니다.
- EAN-8: 완성된 번호는 8자리이며, 체크디지트 전 7자리도 받습니다. EAN-13을 임의로 잘라 만드는 번호가 아닙니다.
- UPC-A: 완성된 번호는 12자리이며, 체크디지트 전 11자리도 받습니다. 화면의 UPC-A를 선택하면 됩니다.
입력부터 저장까지, 화면에서 하는 일
입력값이 유효하면 별도의 생성 버튼 없이 미리보기가 바뀝니다. 처음에는 CODE128 예시 ROBERIN-001과 1배 크기가 선택되어 있습니다.
- 바코드 유형을 고른 뒤 문자 또는 번호를 입력합니다. 유형만 바꾸면 입력칸의 값은 그대로 남습니다.
- 오류 안내가 없고 바코드가 보이는지 확인합니다. EAN·UPC는 인코딩된 값에 체크디지트가 포함되었는지도 봅니다.
- 이미지 크기를 1배·2배·3배 중에서 고르고 SVG 저장 또는 PNG 저장을 누릅니다.
- 예시 넣기는 현재 유형의 샘플을 넣습니다. 초기화는 유형·입력·크기를 CODE128·ROBERIN-001·1배로 되돌립니다.
앞자리 0과 공백은 지우지 않습니다
상품번호는 계산할 숫자가 아니라 문자열입니다. UPC-A 예시 03600029145의 맨 앞 0도 번호의 일부이므로 그대로 넣으세요. 이 도구는 앞자리 0을 없애거나 천단위 쉼표를 붙이지 않습니다.
- EAN·UPC 입력은 반각 숫자 0~9만 받습니다. 공백, 하이픈, 쉼표, 전각 숫자는 제거하지 않고 오류로 알립니다.
- CODE128에서는 대소문자와 앞뒤 공백을 보존합니다. Aa-001과 AA-001은 서로 다른 값입니다.
- 스프레드시트에서 가져올 때는 원본 셀을 텍스트로 다루세요. 복사하기 전에 사라진 0은 이 도구가 복원할 수 없습니다.
체크디지트는 어떤 숫자인가요?
EAN·UPC의 마지막 한 자리는 입력 오류를 찾기 위한 체크디지트입니다. 마지막 자리를 빼고 입력하면 계산해 붙이고, 완성된 길이로 입력하면 마지막 자리가 맞는지 검사합니다. 검사를 통과해도 실제 상품에 배정된 번호인지까지 확인한 것은 아닙니다.
- 체크디지트 바로 앞의 숫자부터 왼쪽으로 이동하며 3과 1을 번갈아 곱합니다.
- 곱한 값을 모두 더한 뒤, 합을 10의 배수로 만드는 가장 작은 0~9를 구합니다.
- 공식은 (10 − (가중합을 10으로 나눈 나머지))를 다시 10으로 나눈 나머지입니다. 합이 이미 10의 배수이면 체크디지트는 0입니다.
GS1 예제: 629104150021 뒤에는 3
GS1의 GTIN-13 예제에서 체크디지트 전 12자리 629104150021의 가중합은 57입니다. 다음 10의 배수인 60까지 3이 부족하므로 완성된 번호는 6291041500213입니다.
- 왼쪽부터 적으면 6×1 + 2×3 + 9×1 + 1×3 + 0×1 + 4×3 + 1×1 + 5×3 + 0×1 + 0×3 + 2×1 + 1×3 = 57입니다.
- EAN-13을 고르고 629104150021을 입력하면 결과에 마지막 3이 붙습니다. 6291041500214처럼 틀린 마지막 자리를 넣으면 저장할 수 없습니다.
- EAN-8 예시 9638507은 96385074가 됩니다. UPC-A 예시 03600029145는 가중합 58에 2를 더해 036000291452가 됩니다.
CODE128에서 한글이 안 되는 이유
이 생성기의 CODE128 입력 범위는 출력 가능한 ASCII 문자 32~126, 최대 80자입니다. 영문·숫자·일반 기호·스페이스는 받지만 한글, 이모지, 탭, 줄바꿈은 받지 않습니다. 공백만 있는 값도 만들지 않습니다.
- 관리번호에 한글 설명이 붙어 있다면 번호 부분만 사용하고 설명은 라벨의 별도 문구로 두세요.
- 80자는 이 도구의 입력 상한이지, 작은 라벨에서도 읽힌다는 뜻이 아닙니다. 문자열이 길면 바코드도 넓어질 수 있습니다.
- CODE128 선택으로 GS1-128을 만드는 것은 아닙니다. GS1-128의 전용 구분자와 데이터 형식은 지원하지 않습니다.
SVG와 PNG는 어디에 쓰나요?
크기를 바꾸며 편집할 자료에는 벡터 형식인 SVG가, 이미지 삽입만 받는 문서나 프로그램에는 PNG가 맞습니다. 두 형식 모두 검정 막대, 흰 배경, 사람이 읽는 문자(HRI)를 함께 저장합니다.
- SVG는 막대를 벡터 도형으로 담아 확대해도 경계가 선명합니다. 붙여 넣을 프로그램이 SVG를 지원하는지, 함께 저장한 글자가 제대로 보이는지 확인하세요.
- PNG는 픽셀 이미지입니다. 저장 후 편집기에서 억지로 늘리기보다 필요한 크기를 먼저 고르는 편이 좋습니다.
- 1배·2배·3배는 막대뿐 아니라 여백과 문자까지 전체 이미지를 같은 비율로 키웁니다. 3배는 가로·세로가 각각 1배의 세 배이지, 3배 더 잘 읽힌다는 보장이 아닙니다.
흰 여백과 가로세로 비율을 지키세요
바코드 양옆의 빈 공간인 콰이어트 존은 스캐너가 막대의 시작과 끝을 구분하는 데 필요합니다. 다운로드 이미지의 흰 여백을 자르거나 다른 글자와 붙이지 마세요. 검정 막대와 흰 바탕은 어두운 화면에서도 그대로 유지됩니다.
- 편집기에서 가로만 줄이거나 세로만 늘리지 말고 전체 비율을 유지합니다.
- 막대 아래의 HRI는 사람이 번호를 대조하는 데 쓰입니다. 글자가 맞는지 확인하되, 글자를 읽을 수 있다는 이유만으로 스캔도 된다고 판단하지 마세요.
- 1배·2배·3배는 이미지 배율입니다. 인쇄물의 실제 밀리미터 크기나 프린터 해상도를 지정하는 옵션이 아니므로, 사용처의 크기 기준은 별도로 맞춰야 합니다.
인쇄한 뒤에는 실제 장비로 확인합니다
화면에 바코드가 보여도 매장에서 읽히는지는 따로 확인해야 합니다. 지원하는 규격, 라벨 크기, 잉크 번짐, 종이 반사, 스캐너 설정에 따라 결과가 달라집니다. 모든 스캐너의 인식이나 유통처의 사용 승인을 보장하지 않습니다.
- 원본 번호와 인코딩된 값, 인쇄된 HRI를 차례로 대조합니다.
- 최종 라벨 크기로 한 장 출력하고 실제 사용할 스캐너로 읽은 문자열을 확인합니다.
- 상품번호를 받는 시스템에 해당 번호가 올바른 상품으로 연결되어 있는지 확인합니다.
- 대량 출력 전에 유통처가 정한 바코드 종류·크기·품질 요구사항을 확인합니다. 이 도구에는 인쇄나 품질 인증 기능이 없습니다.
오류가 나면 이전 이미지를 쓰지 마세요
빈 입력, 허용하지 않는 문자, 잘못된 길이 또는 체크디지트 오류가 있으면 이전 바코드를 숨기고 저장 버튼을 잠급니다. 이전 결과를 현재 번호의 이미지로 착각해 저장하지 않도록 막는 것입니다.
- 유형을 바꾼 뒤 오류가 나면 입력 길이와 문자 범위를 먼저 봅니다. 새 유형에 맞는 값을 확인하려면 예시 넣기를 누릅니다.
- 바코드 생성과 파일 변환은 현재 브라우저 안에서 처리하며, 이 작업을 위해 입력값을 서버에 업로드하지 않습니다.
- 이미지를 다른 사람에게 보내면 안의 번호도 읽을 수 있습니다. 바코드는 암호화나 비밀 보관 수단이 아닙니다.
입력과 저장에서 자주 묻는 질문
무료로 만든 바코드를 상품에 바로 붙여도 되나요?
이미지를 만드는 것은 무료지만, 생성 결과만으로 상품번호 배정이나 유통처 등록이 끝나지는 않습니다. 실제 사용할 번호인지, 거래처가 요구하는 바코드 종류와 크기가 맞는지 확인한 뒤 최종 인쇄물을 시험하세요.
EAN-13 번호가 12자리인데 한 자리가 더 붙는 이유는 무엇인가요?
마지막 체크디지트를 계산해 붙이기 때문입니다. EAN-13은 12자리를 넣으면 13자리로 완성하고, 13자리를 넣으면 마지막 자리를 검사합니다. EAN-8은 7·8자리, UPC-A는 11·12자리를 같은 방식으로 처리합니다.
UPC-A의 맨 앞 0이 사라지지 않나요?
입력한 앞자리 0은 그대로 보존합니다. 03600029145를 넣으면 036000291452가 됩니다. 다만 다른 프로그램에서 이미 0이 빠진 값을 복사했다면 원본 번호를 확인해 직접 고쳐야 합니다.
CODE128에 한글이나 줄바꿈을 넣을 수 있나요?
이 도구에서는 넣을 수 없습니다. CODE128은 출력 가능한 ASCII 문자 32~126만 최대 80자까지 받습니다. 영문 대소문자와 공백은 보존하지만 한글·이모지·탭·줄바꿈과 공백만 있는 입력은 거부합니다.
일반 CODE128과 GS1-128은 같은가요?
같지 않습니다. GS1-128에는 식별자를 구분하는 데이터 형식과 전용 구분자가 필요합니다. 이 도구의 CODE128은 일반 문자열용이며, GS1-128이나 GS1 상품번호 발급 기능은 제공하지 않습니다.
SVG와 PNG 중 인쇄할 때 무엇을 저장하나요?
인쇄·편집 프로그램이 SVG를 지원하면 크기 변경에 유리한 SVG를 사용할 수 있습니다. PNG만 받는 프로그램에서는 필요한 배율로 저장하세요. 어느 형식이든 비율과 흰 여백을 지키고 실제 크기로 출력한 뒤 스캐너로 확인해야 합니다.
유형을 바꾸거나 입력을 지우면 이전 바코드는 어떻게 되나요?
유형을 바꿔도 입력값은 그대로 남으며 새 유형으로 다시 검사합니다. 입력을 지우거나 새 규격에 맞지 않는 값을 넣으면 이전 바코드를 숨기고 저장을 막습니다. 초기화를 누르면 CODE128·ROBERIN-001·1배 예시로 돌아갑니다.
번호를 입력하면 서버에 업로드되나요?
바코드를 만들고 SVG·PNG 파일로 변환하는 작업은 브라우저 안에서 처리되며, 생성 작업을 위해 입력한 번호를 서버에 업로드하지 않습니다. 저장한 이미지를 공유하면 다른 사람이 번호를 읽을 수 있으므로 비밀 정보를 담는 용도로 쓰지는 마세요.
계산 예제와 규격을 확인한 자료
체크디지트 계산 예제는 GS1 안내를, 번호 배정과 이미지 제작의 구분·규격 선택·크기·문자·색상 안내는 GS1의 바코드 제작 절차를 참고했습니다. EAN·UPC 입력 길이와 예시는 JsBarcode 문서에서도 확인할 수 있습니다.
번호와 라벨을 준비할 때 함께 쓰는 도구
- QR 코드 생성기 — URL이나 한글 안내문을 코드로 공유할 때
- 글자수세기 — 관리번호와 함께 쓸 라벨 문구의 길이를 확인할 때
- 텍스트 to TXT 변환기 — 원본 번호와 설명을 텍스트 파일로 따로 보관할 때