GTIN-14チェックディジット
13桁の1001234567890を入力するとチェックディジットは2で、ケースコード全体は10012345678902になります。段ボールや物流単位のGTIN-14を完成させたり、倉庫システムに入る前に14桁のコードを確認したりできます。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 数
- 1001234567890
- 計算モード
- Compute
- 入力
- 1001234567890
- チェックディジット
- 2
- チェックディジット付き
- 10012345678902
ケース・パック・物流単位として動く取引品は、14桁のGlobal Trade Item Number、すなわちGTIN-14で識別されます。先頭桁は包装インジケータで、消費単位のGTINと区別します。中間桁は企業プリフィックスと品目参照を担い、末尾はGS1チェックディジットで、倉庫やマーケットプレイスに届く前に1桁の入力・スキャン誤りを検出します。
GTIN-14チェックディジットの計算方法
GTIN-14は常に14桁です。先頭はインジケータ(包装階層では0〜8、一部スキームでは可変計量に9)で、2桁目から13桁目が基の取引品番号を構成します。多くの場合、自前のチェックディジットを除いたゼロ埋めGTIN-13、または同等の企業プリフィックスと品目参照です。
14桁目がチェックディジットです。同等に、チェックを含む14桁全体に同じ右からの重みを適用したGS1重み付き和が10の倍数でなければなりません。これはGTIN-8、GTIN-12(UPC-A)、GTIN-13(EAN-13)、GTIN-14で共通のmod-10系で、固定長とインジケータの有無がGTIN-14を特定します。
アルゴリズムは決定的で局所的であり、GS1カタログ参照・ネットワーク・時計を使いません。本ツールは包装インジケータの割当やITF-14の描画は行わず、有効なチェックサムがGS1登録を意味するとも主張しません。GTIN-14チェックディジット規則のもとで桁列が整形式であることだけを示します。
多種バーコード検証と比べ、ここでの検索意図は狭いです。
実務ワークフローでのGTIN-14チェックディジット
倉庫・物流チームは、インジケータとチェックなしの消費GTIN本体からなる13桁の内部ケース番号を受け取り、パレットや外箱用のITF-14やGS1-128ラベルを印刷する前に公式のGTIN-14チェックディジットを付け加えます。入荷アプリはドックで14桁を検証し、1回の桁転置が架空のケースSKUやASNとの在庫不一致を生まないようにします。
データ品質ジョブはカタログやEDIエクスポートの各GTIN-14列をvalidateで走査し、validがfalseの行を隔離し、人手の編集とGTIN-13のゼロ埋め誤りを検出します。合格したGTIN-14チェックをブランド所有・包装階層の正しさ・GS1登録の証明と見なさないでください。
活用例
カタログとEDIエクスポートのGTIN-14列を監査する
PIMや取引先ファイルの14桁物流GTINを一括検証し、チェックディジットが再計算した期待値と一致しない行を隔離します。
よくある質問
GTIN-14チェックディジットとは何ですか?
GTIN-14コードの14桁目で、GS1のmod-10重み付き和で計算され、ケースやパックのコードを保存・印刷する前に1桁の入力・スキャン誤りを通常検出します。
GTIN-14の最初の1桁は何を表しますか?
包装インジケーターと呼ばれ、ケースやパックを消費者向けの単品と区別します。包装の段階に応じて0から8が使われることが多く、一部の方式では9が不定貫の商品を表します。
チェックディジットはどう計算しますか?
チェックディジットの前の13桁を右から見て、いちばん右を3倍、次を1倍と交互に掛けて合計します。10からその合計を10で割った余りを引き、10になった場合は0とします。
EAN-13からGTIN-14を作るには?
EAN-13の最後の1桁を外し、先頭に包装インジケーターを付けて、その13桁から新しいチェックディジットをここで計算します。元のEAN-13のチェックディジットは引き継ぎません。
チェックディジットが合えば商品は実在しますか?
いいえ。分かるのは14桁の計算上のつじつまが合っていることだけです。GS1のカタログは照会しないため、そのコードが実際に商品へ割り当てられているかは分かりません。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/enc/gtin14 \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"number":"1001234567890"}'const res = await fetch("https://api.kit.forhosting.com/enc/gtin14", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"number": "1001234567890"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/gtin14",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"number": "1001234567890"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/gtin14", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"number":"1001234567890"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"number":"1001234567890"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/gtin14", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"number": "1001234567890"
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.gtin14",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
本機能は13桁のペイロードに標準のmod-10規則を適用し、右から重みを数え、奇数位置を3倍・偶数位置を1倍して、チェックディジットと完成した14桁文字列を返すか、明示的なvalidフラグと期待桁で14桁コードを検証します。非数値や誤った桁数は黙って切り詰めずinvalid_inputで失敗するため、半分だけ整ったケースコードを保存しません。同じ純粋な算術がブラウザ無料版と公開API料金の自動化の両方で動きます。
GTIN-14チェックディジットの計算方法
計算では13桁のペイロードを右から左へ進め、最右桁を3倍、次を1倍と交互に掛け、重み付き和の10を法とした余りを10から引き、再び10を法として余り0ならチェック0とします。13桁ペイロード向けのGTIN-14チェックディジット計算であり、一般的なUPCやISBNチェッカーではありません。
入力契約、モード、エラーの扱い
桁数誤りはmodeと送った長さを明示するエラーで、computeは13、validateは14なので、クライアントフォームは推測せず「13桁が必要」と表示できます。空文字・欠落したnumber・無効なmodeは重み付き和の前に失敗し、課金されません。インジケータと基から物流GTINを発行・完成するときはcomputeを、倉庫スキャン・ASN行・取引先ファイル取込を14桁完全コードで門番するときはvalidateを選んでください。numberフィールドには0から9の文字だけを送ってください。空白・ハイフン・文字・小数点は非数値としてinvalid_inputで拒否し、黙って削られた値が保存に届かないようにします。modeの既定はcomputeで、エンジンはちょうど13桁を要求し、check_digitを1文字の文字列、with_checkをケースラベルに印刷したりPIMに保存したりできる14桁のGTIN-14として返します。validateはちょうど14桁を要求し、末尾桁が再計算したexpected_check_digitと一致するとvalid trueを報告し、常にpayload(先頭13桁)、check_digit、expected_check_digit、length 14を含めます。digits、gtin、codeなどのエイリアスを同じペイロード欄として受け付けるため、既に「gtin」と呼ぶ連携は改名不要です。時計・乱数・ネットワークのない純粋parseのため、同じJSON本文は無料ブラウザと成功リクエストあたり$0.002のAPIで常に同じJSON結果になります。
実務ワークフローでのGTIN-14チェックディジット
ECやマーケットプレイスのオンボーディングではexpected_check_digitを再計算し、売手が末尾を誤入力したケースGTINを貼ったときに分かりやすい修正を示せます。標準GS1重みのもとでmod-10桁が13桁ペイロードと整合することだけを示します。
連携の活用例
物流ラベル用に13桁ケース番号を完成させる
インジケータと基を含む13桁ペイロードでcomputeを呼び、with_checkを保存し、14桁のGTIN-14をITF-14またはGS1-128ラベルプリンタへ渡します。
入荷時にスキャンまたは入力したGTIN-14を検証する
スキャナやASNフォームが14桁を送ったらvalidateを呼び、validがfalseなら格納を止め、expected_check_digitを示して1桁の誤入力を直します。
技術的な質問
このAPIでGTIN-14チェックディジットを計算するには?
numberをちょうど13桁にし、mode compute(またはmode省略)でPOSTします。応答にcheck_digitとwith_check(完全な14桁GTIN-14)が含まれます。
14桁の完全なGTIN-14を検証するには?
14桁の文字列とmode validateでPOSTします。応答にvalid、check_digit、expected_check_digit、payload(末尾を除く桁)が含まれます。
桁数誤り、文字、ハイフンがある場合は?
非数値、およびcomputeで13桁・validateで14桁以外の長さはinvalid_inputで拒否されます。失敗した検証タスクは課金されません。
GTIN-14チェックディジットツールは無料ですか?
ブラウザツールは無料でローカル実行です。APIは公開の基本価格$0.002で前払いKIT残高を使い、無効入力は課金されません。