GS1 コード → EPC(16 進)
GTIN などの GS1 コードとシリアル番号から、RFID タグに書き込む EPC の 16 進値を作ります。URI からの変換もできます。
EPC(16 進)→ GS1 コード
リーダーで読んだ EPC の 16 進値を貼ると、方式・フィルタ値・GS1 コード・シリアル番号に分解します。
例の値は GS1 EPC Tag Data Standard 2.3 付録 E.3 の掲載値です。
一括変換(1 行 1 件)
16 進の EPC、EPC Tag URI、Pure Identity URI、GS1 要素文字列、TID(E2 で始まる 16 進)を 1 行に 1 件ずつ貼ってください。種類は行ごとに自動で判定します。結果は CSV で保存できます。
TID 解析(チップメーカー・型番の判定)
TID メモリ(バンク 10)の 16 進値を貼ると、GS1 が公開しているマスクデザイナー ID(MDID)一覧から、IC チップのメーカーと型番を判定します。
例のボタンは、MDID と型番番号(TMN)の組み合わせから作った合成値です。実在する個別タグの値ではありません。
MDID 一覧(GS1 公開データ)を表示
Hex ⇔ ASCII ⇔ 2 進 変換と長さチェック
どれか 1 つの欄に入力すると、ほかの欄が自動で変わります。ASCII 欄は UTF-8 として扱い、表示できない文字は「.」で示します。
PC ビット(プロトコル制御ワード)の計算
EPC メモリの 10h〜1Fh にある 16 ビットです。EPC の長さ(ワード数)などを表します。
PC ワードの読み取り
計算の根拠
このツールの変換は、GS1 の EPC Tag Data Standard(TDS)Release 2.3(2025 年 10 月批准)に従っています。表と式は次のとおりです。
1. EPC の 2 進構造(TDS 14 章)
| 方式 | ヘッダー | 全長 | 構成(ビット数) |
|---|---|---|---|
| SGTIN-96 | 30h | 96 | ヘッダー 8 + フィルタ 3 + パーティション 3 + 事業者コード M + インジケーター/商品アイテムコード N + シリアル 38(10 進整数) |
| SGTIN-198 | 36h | 198 | ヘッダー 8 + フィルタ 3 + パーティション 3 + M + N + シリアル 140(7 ビット文字 × 最大 20 文字、残りは 0) |
| SSCC-96 | 31h | 96 | ヘッダー 8 + フィルタ 3 + パーティション 3 + 事業者コード M + 拡張子/シリアル参照 N + 予約 24(すべて 0) |
| GRAI-96 | 33h | 96 | ヘッダー 8 + フィルタ 3 + パーティション 3 + 事業者コード M + 資産種別 N + シリアル 38(10 進整数) |
| GIAI-96 | 34h | 96 | ヘッダー 8 + フィルタ 3 + パーティション 3 + 事業者コード M + 個別資産参照 N(10 進整数) |
M と N は「パーティション表」で決まります。パーティション値 P = 12 − 事業者コードの桁数 です(4〜5 桁の事業者コードは 6 桁として扱います。TDS 7.1)。数値の欄は 10 進の値をそのまま 2 進にし、左側を 0 で埋めます。16 進表示は 16 ビット(1 ワード)単位まで右側を 0 で埋めます(SGTIN-198 は 198 ビット → 208 ビット = 52 桁)。
2. フィルタ値(TDS 10 章)
3. GS1 コードとの対応とチェックデジット(TDS 7 章)
- SGTIN:
(01)d1d2…d14 (21)シリアル⇔urn:epc:id:sgtin:d2…d(L+1).d1d(L+2)…d13.シリアル(L=事業者コードの桁数。d1 はインジケーター) - GTIN-12/13 は先頭を 0 で埋めて 14 桁にします。GTIN-8 は事業者コードを
00000+先頭 3 桁(8 桁固定)として扱います(TDS 7.3.2)。 - SSCC:
(00)拡張子+事業者コード+シリアル参照+チェックデジット。GRAI:(8003)0+事業者コード+資産種別+チェックデジット+シリアル。GIAI:(8004)事業者コード+個別資産参照。 - チェックデジット = (10 − (右端から奇数番目の数字の合計 × 3 + 偶数番目の数字の合計) mod 10) mod 10(右端=チェックデジットの直前の数字)。
- シリアル番号で使える文字は GS1 の 82 文字(TDS 付録 A)。URI では
" % & / < > ?を%22 %25 %26 %2F %3C %3E %3Fと書きます。 - SGTIN-96/GRAI-96 のシリアルは「数字だけ・先頭が 0 でない(0 単独は可)・238(274,877,906,944)未満」のときだけ使えます。それ以外は SGTIN-198 が必要です(TDS 付録 E.1 注 3)。
- GS1 Digital Link URI は参考表示です(
https://id.gs1.org/+ AI + 値。英数字と- . _ ~以外は % で符号化)。
4. PC ワード(TDS 15.1.1 表 15-1)
- 10h〜14h: 長さ L = EPC のビット数 ÷ 16(端数は切り上げ)。例: 96 ビット → 6、198 ビット → 13。
- 15h: UMI(ユーザーメモリの有無)、16h: XI(XPC の有無。タグが計算)、17h: トグル(0 = GS1 の EPC)、18h〜1Fh: 属性ビット(トグル 1 のときは ISO の AFI)。
- PC(16 進)= L × 2048 + UMI × 1024 + XI × 512 + T × 256 + 属性ビット。例: 96 ビット・UMI 0 →
3000。 - CRC(00h〜0Fh)はリーダーが自動計算するため、このツールでは計算しません。
5. ヘッダー値一覧(TDS 表 14-1 から抜粋)
6. TID の構造(TDS 16 章)
- 00h〜07h: 割当クラス ID(
E2h)。08h: XTID 指示子(X)、09h: セキュリティ指示子(S)、0Ah: ファイル指示子(F)。 - 0Bh〜13h: マスクデザイナー ID(MDID, 9 ビット)。14h〜1Fh: タグ型番番号(TMN, 12 ビット。メーカーが決める値)。
- X = 1 のとき、20h〜2Fh が XTID ヘッダー。上位 3 ビット V が 0 以外なら、30h から長さ 48 + 16 × (V − 1) ビットのシリアル番号があります(TDS 16.2.1)。
- STID URI =
urn:epc:stid:x(08h〜13h の 12 ビット).x(TMN).x(シリアル)(TDS 16.3)。 - EPC のヘッダー
E2hは TID と取り違えないよう永久予約されています(TDS 表 14-1)。このため一括変換では E2 で始まる 16 進を TID として扱います。 - メーカー名と型番は GS1 の MDID 一覧(JSON 版 2026-04-22 更新)だけを使っています。型番は GS1 の一覧に載っている組み合わせだけを表示し、載っていない場合は「一覧に記載なし」と表示します。
7. 出典(取得日: 2026 年 10 月 21 日)
- GS1『EPC Tag Data Standard (TDS) Release 2.3』Ratified, Oct 2025 —
https://ref.gs1.org/standards/tds/(7 章、10 章、12 章、14 章、15 章、16 章、付録 A、付録 E) - GS1『Mask Designer ID (MDID) Assignment』 —
https://www.gs1.org/epcglobal/standards/mdid - GS1 MDID 一覧 JSON(version 2026-04-22T14:29:20Z) —
https://www.gs1.org/docs/epc/mdid_list.json
往復変換テストの結果は同じフォルダの README.md に記載しています。