EAN and UPC validator
Check the check digit of EAN-13, EAN-8, UPC-A and UPC-E barcodes, or complete a missing one.
EAN and UPC validator
Paste one barcode number per line and this tool checks whether its check digit is correct, using the mod-10 algorithm GS1 defines for EAN-13, EAN-8, UPC-A and UPC-E codes. It's built for developers wiring up a scanner or POS integration, warehouse staff auditing a product feed, and anyone confirming a barcode printed on packaging is actually valid before it goes to print.
Code type controls how each line is read: auto-detect picks EAN-13, EAN-8 or UPC-A by length, or force a specific format when the input is ambiguous — useful for UPC-E, which shares its 8-digit length with EAN-8. Complete missing check digit fills in the last digit when a line is one digit short, so pasting the 12 data digits of an EAN-13, or the 6-digit core of a UPC-E, returns a complete, valid code. Convert UPC-A/UPC-E to EAN-13 rewrites valid North American codes into their 13-digit form with a leading zero, the form many European systems expect. Show country from GS1 prefix reads a valid code's leading digits against the public GS1 prefix ranges and prints the ISO country code that issued it — a sanity check, not proof of where the product was made.
Interior spaces and dashes are stripped before validation, so codes copied from a spreadsheet work as-is. Each line is checked independently — mixing formats in one paste is fine — and anything that doesn't match a known length or contains non-digit characters is reported as invalid rather than skipped silently. Keep only valid lines trims the output to a clean list of working codes.
Everything runs in your browser: barcode numbers never leave your device. Copy the result, download it as a .txt file, or send the output back into the input for another pass.