Pametna kartica je kartica, ki je lahko sposobna shranjevanja podatkov ali pa ima lahko tudi mikroprocesor in je zato v bistvu miniaturni računalnik in je sposobna obdelati podatke. Največje specifikacije pametne kartice vključujejo 8 kb (kilobajtov) RAM-a, 346 kb ROM-a in 256 kb ROM-a, ki ga je mogoče programirati, skupaj s 16-bitnim mikroprocesorjem. Programator pametnih kartic je naprava za programiranje pametnih kartic.
Vse več je uporab pametnih kartic. Uporabljajo se lahko v računalniških varnostnih sistemih, na primer v tipkovnicah s pametnimi karticami ali pri dostopu do zgradb. Delujejo lahko kot kreditne kartice, elektronska gotovina ali bančne kartice. Uporabljajo se lahko tudi v sistemih zvestobe ali kot identifikacijske kartice. Natančna uporaba, ki je načrtovana za pametne kartice, bo narekovala, kako je programator pametnih kartic nastavljen za njihovo formatiranje.
Nekatere odločitve, ki jih je treba sprejeti, preden programator pametne kartice začne delovati, vključujejo odločitev, ali bo kartica imela enkratno ali večkratno uporabo, ali bo hranila podatke ali vrednost in ali bodo nekateri ali vsi podatki na kartico je treba hraniti varno. Prav tako je pomembno, da se odločite o šifriranju in preverjanju veljavnosti za dostop do kartice, kot so gesla ali številke PIN, preden se odločite za ustrezno uporabo programatorja pametne kartice in pametne kartice ter se prepričate, da sta kartica in programator združljiva. Drugo pomembno vprašanje je jezik, ki bo uporabljen za programiranje kartic: medtem ko so nekatere kartice programirane v JAVA, so druge programirane v BASIC-u ali drugih jezikih.
Druga pomembna točka pri izbiri programatorja pametnih kartic in ena ključnih razlik med modeli je, ali gre za programator kontaktnih pametnih kartic ali programator brezkontaktnih kartic. Kontaktna pametna kartica je tista, ki jo je treba vstaviti v čitalnik. Po drugi strani ima brezkontaktna pametna kartica vgrajeno oznako za radiofrekvenčno identifikacijo (RFID) in – dokler je v “območju branja” – lahko komunicira z bralnikom pametnih kartic na daljavo.
Nekatere naprave za programiranje pametnih kartic so narejene za delo z več vrstami pametnih kartic, nekatere pa so konfigurirane samo za eno določeno vrsto. Nekatere so namenjene karticam, ki bodo izplačane, druge pa so zasnovane za uporabo na kraju samem v okoliščinah, v katerih sta ponovni ključ in/ali dodajanje novih uporabnikov stalna težava. Poleg tega so nekateri programatorji pametnih kartic na voljo v etuiju, ki lahko služi kot bralnik in ki vključuje baterijo, zaščitno pokrovno ploščo in druge zaščitne, vzdržljive in funkcionalne funkcije. Drugi so na voljo kot vezje, na katerega je treba dodati ohišje, serijski kabel in 9-voltno enosmerno baterijo za funkcionalnost in zaščito programatorja. Po drugi strani se prva vrsta prodaja za več kot 1000 USD (USD), medtem ko je slednja manj kot 25 USD.