읽기 실험실

바코드의 마지막 숫자는 왜 마음대로 정할 수 없을까요?

GS1의 검증숫자는 앞 숫자들에 3과 1의 가중치를 번갈아 적용해 계산하며, 바코드를 잘못 읽거나 입력한 흔한 한 자리 오류를 알아채는 데 쓰입니다.

초등 고학년 이상게시 2026-11-08읽기·실험 약 10분확인 문제 2개규칙 기반 실행한국논리학협회 자체 제작제작·검수 LTCT 편집부

학생이 상자의 바코드 마지막 숫자를 가리키고 보호자가 계산표에 적으며, 공식 돋보기 올리가 같은 숫자를 살피는 장면.
세 참여자가 같은 마지막 숫자를 확인합니다. 사진의 연출용 코드는 실제 상품 식별번호가 아니며 검증값이 맞지 않는 오류 사례입니다. · 한국논리학협회 · AI 생성 배경 · 공식 올리 원본
오늘의 질문

바코드 아래 마지막 숫자는 상품마다 그냥 순서대로 붙이는 번호일까요?

GTIN 본문 880123456789의 숫자를 오른쪽부터 3과 1로 번갈아 곱해 합 127을 구하고, 다음 10의 배수 130과의 차이 3을 검증숫자로 정하는 그림.
GTIN 본문 880123456789의 숫자를 오른쪽부터 3과 1로 번갈아 곱해 합 127을 구하고, 다음 10의 배수 130과의 차이 3을 검증숫자로 정하는 그림. · 한국논리학협회 자체 제작
그림 크게 보기 ↗
01

마지막 한 자리는 앞 숫자를 검사한다

상품에 쓰는 GTIN의 마지막 자리는 앞자리와 같은 의미의 일련번호가 아니라 검증숫자입니다. 바코드 기계가 읽은 숫자나 사람이 입력한 숫자가 계산 규칙에 맞는지 빠르게 확인합니다. 규칙에 맞지 않으면 번호를 다시 읽어 볼 이유가 생기지만, 규칙에 맞는다고 상품의 내용이나 가격까지 참이라는 뜻은 아닙니다.

02

오른쪽부터 3과 1을 번갈아 곱한다

GS1 규칙에 따라 검증숫자를 뺀 본문 숫자의 오른쪽 끝부터 3, 1, 3, 1을 번갈아 곱해 모두 더합니다. 본문 880123456789의 가중합은 127입니다. 127 이상인 가장 가까운 10의 배수는 130이므로 검증숫자는 130-127=3입니다. 이미 합이 10의 배수라면 차이는 0입니다.

03

오류를 잘 찾지만 모든 오류를 보장하지는 않는다

한 숫자가 바뀌면 가중합도 달라져 마지막 검사가 실패하는 경우가 많습니다. 하지만 검증숫자는 암호도, 상품 진위 증명도 아닙니다. 서로 다른 여러 자리가 함께 바뀌어 가중합의 끝자리가 우연히 같으면 통과할 수도 있습니다. 계산 통과는 형식이 맞는다는 신호이며 실제 상품 정보는 등록 자료와 따로 확인해야 합니다.

직접 확인하기 · 규칙 기반 실행

GTIN 검증숫자 계산하고 오류 찾기

12자리 본문을 바꾸어 마지막 검증숫자를 계산하고, 제시된 마지막 숫자와 일치하는지 확인하세요.

GTIN 검증숫자 계산하고 오류 찾기

오른쪽부터 3·1 가중합: 127

계산한 검증숫자: 3

제시된 마지막 숫자와 일치합니다.

이 검사는 번호 형식의 오류를 찾는 도구이며 상품 진위나 가격을 보증하지 않습니다.

관계를 읽고, 다른 상황에 적용하기

두 문제로 생각 확인

1가중합이 정확히 90이라면 검증숫자는?
2검증숫자 계산을 통과했다는 사실만으로 알 수 없는 것은?

두 문제의 답을 모두 선택하면 해설을 볼 수 있습니다.

나의 설명으로 마무리

오늘 발견한 관계

저장 위치를 확인하고 있습니다…

출처와 제작 안내

원문을 참고해 설명·도표·문항·실험을 새로 작성했습니다. 별도 표시가 없는 사례와 수치는 학습을 위한 가상 예시입니다. 원문 번역이나 실제 모델의 성능 평가 자료가 아닙니다.

  1. GS1 General Specifications — Check digit calculation ↗GS1

    GTIN 본문 숫자와 마지막 검증숫자를 구분하고 계산하는 직접 근거