Check Digit Validator

← All formats

EAN-13 check digit validator

Weight each digit 1 or 3 alternately from the left, sum, and require a multiple of 10.

4006381333936 fails the EAN-13 checksum, and 13 different single-character fixes would each satisfy it — checksum arithmetic alone cannot narrow this down further.

13 equally valid single-character fixes — checksum arithmetic alone cannot narrow this down to one digit:

  • 9006381333936 (substitution, change the character at position 1 from "4" to "9")
  • 4506381333936 (substitution, change the character at position 2 from "0" to "5")
  • 4056381333936 (substitution, change the character at position 3 from "0" to "5")
  • 4001381333936 (substitution, change the character at position 4 from "6" to "1")
  • 4006881333936 (substitution, change the character at position 5 from "3" to "8")
  • 4006331333936 (substitution, change the character at position 6 from "8" to "3")
  • 4006386333936 (substitution, change the character at position 7 from "1" to "6")
  • 4006381833936 (substitution, change the character at position 8 from "3" to "8")
  • 4006381383936 (substitution, change the character at position 9 from "3" to "8")
  • 4006381338936 (substitution, change the character at position 10 from "3" to "8")
  • 4006381333436 (substitution, change the character at position 11 from "9" to "4")
  • 4006381333986 (substitution, change the character at position 12 from "3" to "8")

…and 1 more.

A passing checksum only proves the number is arithmetically self-consistent. It does not prove an IBAN names an open account, an ISBN is assigned to a real book, or a card is active, unstolen, or has funds. Those require asking the bank, the ISBN registry, or the card network.

Try it: a valid example · a broken example

curl 'https://check-digit.gumballtools.com/api/v1/run?input=4006381333931&format=ean13'