Yleinen tuotekoodi (UPC) on symboli, joka esiintyy yleisesti kulutustavaroiden ja päivittäistavaroiden pakkauksissa. Se käyttää viivakooditekniikkaa, joka mahdollistaa tuotenumeron esittämisen koneiden ymmärrettävässä muodossa ja lisää sekä kassan nopeutta että tarkkuutta. Käsite käyttää koneellisesti luettavia symboleja tehokkaampaan ostokseen juontaa juurensa ainakin 1940-luvulle, mutta rajallinen tekniikka esti idean hyväksynnän 1970-luvulle asti. Siitä lähtien UPC on laajentunut juuristaan elintarviketeollisuuteen monille teollisuudenaloille ja siitä on tullut jopa kulttuurinen symboli.
Viivakooditekniikka, josta UPC oli varhainen sovellus, mahdollistaa tuotteen numeerisen koodin esittämisen erikoismerkeillä, jotka automatisoidut skannerit tunnistavat helposti. UPC -järjestelmässä tuotteen tai tuotenumero koodataan pystysuorien palkkien sarjana, joiden leveydet ja välit ovat erilaiset. Kone skannaa nämä palkit kassalla, ja tietokone tai myyntipiste tarkistaa tuotteen numeron tietokannasta, joka sisältää kaikkien mahdollisten tuotteiden hinnat kaupassa. Tämä tietokanta voidaan päivittää milloin tahansa, jolloin kauppa voi muuttaa tuotteen hintaa muuttamatta viivakoodia. UPC -järjestelmän avulla tuotteet voidaan skannata nopeammin ja tarkemmin kuin ihmisen virkamiehen manuaalinen syöttö. Tämä parannus on arvioitu säästäneen vähittäiskauppiaille kymmeniä miljardeja dollareita vuosittain järjestelmän käyttöönoton jälkeen 1970 -luvulta lähtien.
Yleisen tuotekoodin rakennetta, joka on yleensä 12 numeroa pitkä, laadittiin joitakin erityisiä sääntöjä varten. Valmistajien on haettava kuusinumeroista yrityksen etuliitettä, josta tulee kyseisen yrityksen tuotteille määritetyn yleismaailmallisen tuotekoodin kuusi ensimmäistä numeroa. Toista viittä numeroa käytetään tunnistamaan tietty tuote tai paketti, ja lopullista numeroa, joka tunnetaan tarkistusnumerona, voidaan käyttää havaitsemaan mahdolliset skannauksen aikana mahdollisesti ilmenneet virheet. Yrityksen etuliitteen ensimmäinen numero määrittää myös skannattavan tuotteen tyypin: 0,1,6 ja 7 yleistavaroille, 2 muuttuvan painon tuotteille, kuten tuotteille, 3 lääkkeille, 4 vain myymälöille ja 5 kuponkeja varten.
Automaattista skannausta koneluettavilla symboleilla oli ehdotettu jo 1940-luvulla, mutta aikakauden primitiivinen tekniikka esti idean kaupallistamisen. 1970 -luvulle mennessä optinen skannaustekniikka oli kuitenkin parantunut tarpeeksi, jotta ruokakaupat olisivat kiinnostuneita ajatuksesta. IBM vastasi päivittäistavarakaupan yhteenliittymän pyyntöön saada automaattisia skannausehdotuksia ja esitti järjestelmän, joka koodaa numerot pystysuoriin palkeisiin, ja vuonna 1974 Wrigleyn purukumipakkauksessa olevasta yleisestä tuotekoodista tuli historian ensimmäinen tuote skannataan ja ostetaan tekniikan avulla. 1970- ja 80-luvuilla hitaiden markkinoiden jälkeen supermarketeissa UPC laajeni päivittäistavarakauppojen ulkopuolelle muille vähittäiskaupan alueille ja siitä on tullut jopa kulttuuri-ikoni.