CODE128 for anything internal — it encodes the full ASCII set, is compact, and is what most warehouse and asset systems expect. EAN-13 and UPC-A are only for products sold at retail, and they require a registered GS1 company prefix; you cannot invent a valid one. ITF-14 is for shipping cartons.
Do I need to supply the check digit?
No. For EAN-13, EAN-8, UPC-A and ITF-14 you can enter one digit short and the check digit is calculated for you. If you supply the full length, it is validated — so a rejected value usually means a mistyped digit.
Can I use these barcodes commercially?
The images are yours to use freely. But a retail barcode also needs a legitimate GS1-assigned prefix to be scannable in shops — generating a valid-looking EAN-13 does not register that number to you. For internal inventory, CODE128 needs no registration at all.