GTIN Validator: ตรวจ Check Digit ของ EAN, UPC และ GTIN ได้ทันทีในเบราว์เซอร์
ตรวจสอบ check digit ของ GTIN-8, GTIN-12 (UPC-A), GTIN-13 (EAN-13) และ GTIN-14 ถอดรหัส packaging indicator และดูประเทศของ GS1 prefix ทำงาน client-side 100%
Table of Contents
GTIN Validator: ตรวจ Check Digit ของ EAN, UPC และ GTIN ได้ทันทีในเบราว์เซอร์
สินค้าทุกชิ้นบนชั้นวางของจะมีตัวเลขที่ต้องถูกต้องเป๊ะอยู่ด้วยเสมอ นั่นคือ GTIN ที่พิมพ์อยู่ใต้ barcode ปัญหาคือตัวเลขพวกนี้พังแบบเงียบ ๆ พิมพ์ผิดไปแค่หนึ่งหลัก มันก็ยังดูเหมือน product code ปกติทุกประการ แต่พอไปถึง marketplace, เครื่อง scan หน้าร้าน หรือระบบ inventory มันจะไม่ scan ไม่ขึ้น ชี้ไปที่สินค้าผิดตัว หรือโดนปฏิเสธจาก product feed ด้วยข้อความที่งงตัวเอง GTIN Validator ช่วยจับ error เหล่านี้ได้ในไม่กี่วินาที ก่อนที่มันจะไปทำให้ listing ถูกลบ shipment ตกหล่น หรือเสียเวลา debug ทั้งวัน
เครื่องมือนี้ตรวจสอบ GTIN ครบทั้งสี่ความยาว ทั้ง GTIN-8, GTIN-12 (ที่หลายคนรู้จักในชื่อ UPC-A), GTIN-13 (EAN-13) และ GTIN-14 ด้วย checksum แบบ GS1 mod-10 และไม่ได้ตอบแค่ผ่านหรือไม่ผ่านเท่านั้น ยังถอดรหัส packaging indicator digit ของ carton code GTIN-14 และบอกด้วยว่าเลขนี้ถูก assign มาจากประเทศหรือ region ไหนของ GS1 prefix
เหมือนเครื่องมือทุกตัวของเรา มันทำงานในเบราว์เซอร์ของคุณทั้งหมด ไม่มีการ upload ไม่มีการเก็บ log และไม่ต้องสมัครสมาชิก คู่มือนี้จะอธิบายว่า check digit คำนวณอย่างไร ความยาวทั้งสี่แบบของ GTIN ต่างกันตรงไหน และการ validate ควรอยู่ตรงไหนของ workflow ข้อมูลสินค้า
ทำไมต้องใช้ GTIN Validator?
- จับพิมพ์ผิดก่อนเสียเงิน เลขที่สลับตำแหน่งผ่านตาคนได้ แต่ผ่าน checksum ไม่ได้ การ validate ตั้งแต่จุดที่พิมพ์จึงหยุด code มั่วก่อนถึง listing หรือ label เสมอ
- ครบทุกความยาวในเครื่องเดียว GTIN-8, GTIN-12 (UPC-A), GTIN-13 (EAN-13) และ GTIN-14 ใช้ algorithm เดียวกัน ไม่ต้องสลับโหมดให้ยุ่งยาก
- เข้าใจตัวเลข ไม่ใช่แค่รู้ว่าถูกหรือผิด เครื่องมือถอดรหัส packaging indicator ของ GTIN-14 และระบุประเทศหรือ region ของ GS1 prefix ให้ด้วย
- ได้ผลทันที ไม่มีขั้นตอนติดขัด ผลลัพธ์อัปเดตระหว่างพิมพ์ ไม่มีบัญชี ไม่มี API key และไม่มี rate limit
- ข้อมูล catalog ยังเป็นส่วนตัว ประมวลผล client-side 100% code ของ SKU ที่ยังไม่เปิดตัวจึงไม่มีวันออกจากเครื่องคุณ
คุณสมบัติเด่น
| คุณสมบัติ | สิ่งที่ทำ |
|---|---|
| ตรวจครบทั้งสี่ความยาว | ตรวจ code 8, 12, 13 และ 14 หลักด้วย GS1 mod-10 checksum |
| บอกผล check digit | ผ่านสะอาด ๆ หรือแจ้งความล้มเหลวชัดเจนเมื่อ code ไม่มีทางถูกได้ |
| Packaging indicator | ถอดรหัสเลขหลักแรกของ GTIN-14 เป็นระดับ hierarchy ของ packaging |
| ค้นหา GS1 prefix | ระบุ member organisation และประเทศหรือ region จากเลขหลักแรก |
| ผลลัพธ์ทันที | อัปเดตระหว่างพิมพ์ เช็คทั้งชุดก็ใช้เวลาไม่กี่วินาที |
| รองรับ accessibility | ประกาศผลผ่าน screen reader และใช้งานด้วย keyboard ได้ครบ |
- หนึ่ง algorithm ครอบคลุมสี่ตระกูล code GS1 ออกแบบ GTIN ทุกความยาวบน mod-10 checksum เดียวกัน เครื่องมือเดียวจึงดูแลได้ทั้ง EAN-8, UPC-A, EAN-13 และ ITF-14 โดยไม่ต้องมี case พิเศษ
- บอกสาเหตุ ไม่ใช่แค่ตัดสิน รู้ว่า code ไม่ผ่านยังไม่พอ รู้ว่าโครงสร้างหรือช่วง prefix น่าสงสัยตรงไหนต่างหากที่ทำให้แก้ข้อมูลได้จริง
วิธีใช้งาน
- เปิดเครื่องมือ เข้าไปที่หน้า GTIN Validator
- paste หรือพิมพ์ code ใส่ได้ทั้ง GTIN-8, GTIN-12, GTIN-13 และ GTIN-14 ช่องว่างกับขีดลอยที่ติดมากับ copy จะถูกเก็บกวาดให้อัตโนมัติ
- อ่านผลตัดสิน check digit ถูกต้องจะผ่านทันที ส่วนตัวที่ผิดจะแจ้งว่า checksum ไม่ผ่าน
- ดูรายละเอียดที่ถอดรหัสได้ เช็ค packaging indicator ของ code GTIN-14 และดู region ของ GS1 prefix ได้กับทุก code
- ไล่ตรวจต่อได้เรื่อย ๆ เครื่องมือนี้ stateless เช็ค list ของ supplier ก็แค่ paste อ่าน ล้าง แล้ววนใหม่
เจาะลึก GS1 Mod-10 Check Digit
GTIN ทุกตัวจบด้วย check digit หนึ่งตัวที่คำนวณจากเลขข้างหน้าด้วย algorithm GS1 mod-10 กฎง่าย ๆ คือ เริ่มจากเลขข้อมูลตัวขวาสุด คูณเลขแต่ละตัวด้วย weight สลับกัน 3, 1, 3, 1 ไปทางซ้ายเรื่อย ๆ แล้วบวกผลคูณทั้งหมด check digit คือจำนวนที่ทำให้ผลรวมไปถึงจำนวนถัดไปที่หารด้วยสิบลงตัว ถ้าผลรวมลงตัวอยู่แล้ว check digit คือศูนย์
ตัวอย่างแบบคำนวณจริงจะเห็นภาพชัด ยกสิบสองหลักแรกของ GTIN-13 คือ 885123456789 มาใส่ weight จากขวาไปซ้าย ได้ 9×3 = 27, 8×1 = 8, 7×3 = 21, 6×1 = 6, 5×3 = 15, 4×1 = 4, 3×3 = 9, 2×1 = 2, 1×3 = 3, 5×1 = 5, 8×3 = 24 และ 8×1 = 8 ผลรวมคือ 132 จำนวนถัดไปที่หารสิบลงตัวคือ 140 check digit จึงเท่ากับ 140 − 132 = 8 และ GTIN-13 ที่ถูกต้องคือ 8851234567898 พอเปลี่ยนเลขข้อมูลสักตัวเดียว ผลรวมจะไปไม่ถึงจำนวนที่ลงตัวอีกเลย — นั่นแหละคือเหตุผลที่ checksum จับพิมพ์ผิดตัวเดียวและการสลับเลขติดกันได้เกือบทุกรูปแบบ
สี่ความยาวของ GTIN กับชื่อเรียกเก่า ๆ
สี่ความยาวนี้ไม่ใช่มาตรฐานแยกกัน แต่เป็นมาตรฐานเดียวกันที่ใช้ต่างระดับ พร้อมชื่อเรียกคุ้นหู: GTIN-8 (EAN-8) สำหรับ packaging เล็กจน barcode เต็มไม่ลง, GTIN-12 (UPC-A) code อเมริกาเหนือดั้งเดิมที่คนทั่วไปเรียกว่า "UPC", GTIN-13 (EAN-13) ค่าเริ่มต้นของโลกสำหรับสินค้า retail รวมถึง code หนังสือ ISBN-13 ที่ขึ้นต้นด้วย 978 หรือ 979 และ GTIN-14 (ITF-14 หรือชื่อเก่า SCC-14) สำหรับ carton ขนส่ง GS1 มองทั้งหมดเป็นพื้นที่ 14 หลักเดียวกัน: GTIN-13 กลายเป็น GTIN-14 ด้วยการเติมศูนย์ข้างหน้า และ checksum ไม่เปลี่ยน
Packaging Indicator Digit บน GTIN-14
เลขหลักแรกของ GTIN-14 คือ packaging indicator เลข 0 หมายถึง consumer unit ตัวจริง — สิ่งที่ได้เวลาเอา code 13 หลักมาเติมศูนย์เป็นสิบสี่ เลข 1 ถึง 8 บอกระดับ carton ที่ซ้อนกัน จาก case ชั้นในสุด (1) ไปจนถึงภาชนะบรรจุชั้นนอกสุด (8) ทำให้ทุกขนาด carton ใน product line เดียวมี identity ที่ scan ได้และย้อนกลับไปหาสินค้าฐานเดียวกันได้ ส่วนเลข 9 สงวนไว้สำหรับสินค้า variable-measure ที่ปริมาณในแพ็กไม่คงที่
GS1 Prefix บอกอะไร และไม่บอกอะไร
เลขสองหรือสามหลักแรกระบุว่า company prefix นี้ถูกออกโดย member organisation ของ GS1 ที่ไหน ช่วงที่คุ้นเคยเช่น 000–019, 030–039 และ 060–139 สำหรับสหรัฐฯ กับแคนาดา, 45 กับ 49 ของญี่ปุ่น, 690–699 ของจีน, 880 ของอินเดีย และ 885 ของไทย ส่วนช่วงอย่าง 020–029 กับ 200–299 เป็น restricted prefix ใช้ภายในร้านเท่านั้นและไม่ได้การันตีความ unique ระดับโลก
ข้อควรระวังสำคัญคือ prefix บอกว่าเลขนี้ถูก assign ที่ไหน ไม่ได้บอกว่าสินค้าผลิตที่ไหน แบรนด์ที่จดทะเบียนในไทยผลิตที่เวียดนามก็ยังใช้ code ขึ้นต้น 885 ได้ ใช้ prefix เพื่อจับข้อมูลที่น่าสงสัย ไม่ใช่เป็นคำโปรยเรื่อง country of origin เด็ดขาด
กรณีใช้งานจริง
ตรวจ product feed ก่อนส่งขึ้น e-commerce
Marketplace ต่าง ๆ ตรวจ GTIN ก่อนรับ listing และ check digit ที่พังเป็นสาเหตุการปฏิเสธที่พบบ่อยที่สุดกลุ่มหนึ่ง ลองเอาคอลัมน์ identifier ของ feed มาผ่าน validator ก่อนอัปโหลดทุกครั้ง — เจอ code มั่วสามตัวจากห้าพันตัวใช้เวลาไม่กี่นาที แต่เจอผ่านอีเมลปฏิเสธใช้เวลาเป็นวัน
รับสินค้าเข้าคลัง inventory
Barcode จาก supplier มักเป็นข้อมูลสินค้าชุดแรกที่ไหลเข้าสู่ระบบ inventory การ validate ตอนรับของช่วยกันไม่ให้ GTIN ที่พิมพ์ผิดหนึ่งตัวไปผูกสินค้าคนละตัวเข้าด้วยกันแบบเงียบ ๆ — ความผิดพลาดที่แพร่ได้เป็นเดือน
พิมพ์ label barcode
ถ้าคุณพิมพ์ label ราคาหรือ label carton เอง ให้ตรวจเลขที่คนอ่านได้ก่อนเรนเดอร์เป็นแท่ง Barcode Generator จะเปลี่ยนเลขที่ผ่านการตรวจแล้วเป็นสัญลักษณ์ที่ scan ได้สะอาด ๆ ตรวจก่อน พิมพ์ทีหลัง — พิมพ์ label ซ้ำคือของเสียล้วน ๆ
สุขอนามัยข้อมูลใน ERP และ spreadsheet
GTIN ใช้งานยาวนานใน ERP, PIM และ spreadsheet ที่ import กับการแก้มือค่อย ๆ ทำให้ข้อมูลเสียหาย การ audit รายไตรมาสที่ดึง identifier ที่เก็บไว้มาผ่าน validator จะช่วยกำจัดความเสียหายตั้งแต่ยังแก้ด้วย data patch ก่อนที่จะต้อง relabel ของจริง
Best Practices
- Validate ตั้งแต่จุดที่พิมพ์ ไม่ใช่หลัง import ที่ถูกที่สุดที่จะแก้ GTIN ผิดคือคีย์บอร์ดที่มันถูกพิมพ์ลงไป
- เก็บเลขเป็น string ใน spreadsheet Excel กับ Google Sheets ชอบตัดเลขศูนย์หน้าของ GTIN-8 และ GTIN-12 หรือแสดงค่ายาวเป็น scientific notation ตั้ง format คอลัมน์เป็น text ก่อนเสมอ
- แยกให้ออกระหว่าง check-digit-valid กับ officially assigned checksum ผ่านพิสูจน์แค่ว่า code สมบูรณ์ทางคณิตศาสตร์เท่านั้น มีแต่ prefix ที่จดทะเบียนกับ GS1 เท่านั้นที่การันตีความ unique ระดับโลก
- จัดรูปแบบก่อนเก็บ ตัดช่องว่างกับขีดออก แล้วเลือก canonical format เดียว เช่น แบบเติมศูนย์เป็น 14 หลัก เพื่อไม่ให้สินค้าตัวเดียวมีสอง identity
- เก็บ log ของ code ที่ไม่ผ่านพร้อมแหล่งที่มา supplier ที่ส่ง sheet มาพลาดซ้ำ ๆ มีปัญหา process ที่ควรแก้ที่ต้นทาง
- อย่าถือว่า restricted prefix เป็นเลข unique code ช่วง 02xx กับ 2xxx ใช้ในร้านและซ้ำกันข้างร้านได้ อย่าปล่อยเข้า catalog ระดับโลก
เริ่มตรวจสอบ GTIN ของคุณวันนี้
ตัวระบุสินค้าจะมีประโยชน์ก็ต่อเมื่อถูกต้อง และ checksum ของ GS1 ทำให้ความถูกต้องตรวจสอบได้ในครึ่งจังหวะพิมพ์ ไม่ว่าคุณจะกำลังเก็บกวาด feed, รับ supplier ใหม่ หรือพิมพ์ label carton ชุดแรก GTIN Validator ให้คำตัดสินทันทีเป็นส่วนตัว ไม่ต้องสมัครอะไรกับ GTIN ทุกความยาว paste code ขึ้นมาเลย แล้วดูว่าตัวเลขของคุณกำลังบอกอะไร
เครื่องมือที่เกี่ยวข้อง:
- Barcode Generator — เปลี่ยน GTIN ที่ตรวจแล้วเป็นสัญลักษณ์ barcode ที่ scan ได้สำหรับ label และ packaging
- Barcode Decoder — scan ภาพ barcode แล้วอ่านเลขที่ encode ไว้เพื่อเทียบกับ label ที่พิมพ์ออกมา
- IMEI Checker — ตรวจ IMEI ของอุปกรณ์มือถือด้วยตระกูล checksum สายเดียวกัน
ขอให้สนุกกับการตรวจสอบ!
คำถามที่พบบ่อย
ถ: GTIN-13 กับ EAN-13 ต่างกันอย่างไร?
ตอบ: ไม่ต่างกันเลย EAN-13 คือชื่อเรียกเดิมของ code retail 13 หลัก ส่วน UPC-A คือชื่อเดิมของเวอร์ชัน 12 หลักแบบอเมริกาเหนือ GS1 รวม terminology ไว้ใต้ร่ม GTIN แล้ว validator จึงรับได้ทั้งคู่โดยไม่ต้องแยก
ถ: code ผ่าน check digit ได้ แต่ยังเป็น code ที่ไม่ถูกต้องได้หรือไม่?
ตอบ: ได้ checksum พิสูจน์แค่ว่า code สมบูรณ์ทางคณิตศาสตร์เท่านั้น มันไม่ได้บอกว่า prefix ถูกจดทะเบียนกับ GS1 หรือ product reference ถูกออกจริงหรือไม่ การ validate จึงเป็นด่านแรก ไม่ใช่การการันตีว่าเลขนี้ถูก assign อย่างเป็นทางการ
ถ: ทำไม spreadsheet ของฉันเลขศูนย์หน้าของ GTIN-8 และ GTIN-12 หายไป?
ตอบ: spreadsheet มองช่องที่เป็นตัวเลขเป็นจำนวน และจำนวนไม่เก็บศูนย์หน้า ให้ตั้ง format คอลัมน์เป็น plain text ก่อนกรอก หรือนำหน้าด้วย apostrophe
ถ: GS1 prefix บอกได้ไหมว่าสินค้าผลิตจากประเทศไหน?
ตอบ: ไม่ prefix ระบุแค่ member organisation ที่ assign เลขนี้ ซึ่งมักเป็นประเทศที่เจ้าของแบรนด์จดทะเบียน การผลิตเกิดขึ้นที่อื่นบ่อยมาก prefix จึงไม่ใช่ตัวชี้ country of origin
ถ: มีข้อมูลอะไรถูก upload ตอนตรวจสอบไหม?
ตอบ: ไม่มี เครื่องมือทำงานในเบราว์เซอร์ล้วน ๆ — client-side 100% code ถูกประมวลผลบนเครื่องคุณและไม่ถูกส่งไป server ใด ๆ