EAN and UPC are not competing systems — they are the same GS1 numbering family at two lengths. A UPC-A is an EAN-13 whose first digit is 0. Once you see that, the "which do I need" question gets simple.
UPC-A is 12 digits, born in US retail in the 1970s. EAN-13 is 13 digits, created to internationalize the system: the extra leading digit(s) form a country-of-registration prefix. Prepend a 0 to any UPC-A and you have its EAN-13 form — same product, same bars apart from the human-readable layout. Every modern point-of-sale scanner decodes both.
Selling primarily in the US and Canada: UPC-A remains the convention retailers expect. Selling internationally or online-first: EAN-13. Selling both: an EAN-13 works essentially everywhere today; genuinely ancient US POS systems that choke on 13 digits are now rare, but if a major US retail chain is your core market, UPC-A is the zero-risk choice. The licence is the same either way — GS1 issues you the number; the format is just how you render it.
Amazon accepts either, because what it really wants is the underlying GTIN — the digits, validated against GS1's database (details in our Amazon guide). GTIN-12 = UPC-A, GTIN-13 = EAN-13, GTIN-14 adds a packaging-level digit for cartons (rendered as ITF-14).
Our EAN-13 and UPC-A generators take your licensed digits, compute the check digit, and export print-ready SVG within the GS1 size specification. Same engine, two renderings of one system.