Pametna kartica je kartica koja može biti sposobna za pohranu podataka, ili također može imati mikroprocesor i stoga je, u biti, minijaturno računalo i biti sposobna za obradu podataka. Maksimalne specifikacije pametne kartice uključuju 8 kb (kilobajta) RAM-a, 346 kb ROM-a i 256 kb ROM-a koji se može programirati, zajedno sa 16-bitnim mikroprocesorom. Programator pametnih kartica je uređaj za programiranje pametnih kartica.
Sve je veći broj upotreba pametnih kartica. Mogu se koristiti u računalnim sigurnosnim sustavima, na primjer u tipkovnicama pametnih kartica ili u pristupu zgradama. Mogu funkcionirati kao kreditne kartice, elektronička gotovina ili bankovne kartice. Također se mogu zaposliti u sustavima vjernosti ili kao identifikacijske kartice. Precizna upotreba koja je planirana za pametne kartice će diktirati kako je programator pametnih kartica postavljen da ih formatira.
Neke od odluka koje se moraju donijeti prije nego što se programator pametne kartice pusti u rad uključuju odlučivanje hoće li kartica imati jednokratnu ili višestruku uporabu, hoće li čuvati podatke ili vrijednost i hoće li neki ili svi podaci na kartica mora biti zaštićena. Odluke o enkripciji i provjera valjanosti za pristup kartici, kao što su lozinke ili PIN brojevi, također je važno donijeti prije nego što se odlučite koji programator pametne kartice i pametne kartice koristiti i provjeriti jesu li kartica i programator kompatibilni. Još jedno važno pitanje je jezik koji će se koristiti za programiranje kartica: dok su neke kartice programirane u JAVA, druge su programirane na BASIC-u ili drugim jezicima.
Još jedno važno pitanje pri odabiru programatora pametnih kartica i jedna od ključnih razlika između modela je radi li se o programatoru kontaktnih pametnih kartica ili programatoru beskontaktnih pametnih kartica. Kontakt pametna kartica je ona koja se mora umetnuti u čitač. Beskontaktna pametna kartica, s druge strane, ima ugrađenu radiofrekvencijsku identifikacijsku oznaku (RFID) i – sve dok je unutar “dometa čitanja” – može komunicirati s čitačem pametnih kartica na daljinu.
Neki uređaji za programiranje pametnih kartica napravljeni su za rad s mnogim vrstama pametnih kartica, dok su neki konfigurirani samo za jednu specifičnu vrstu. Neke su namijenjene karticama koje će biti isplaćene, a neke su dizajnirane za korištenje na licu mjesta u okolnostima u kojima su ponovno upisivanje i/ili dodavanje novih korisnika trajni problemi. Osim toga, neki programatori pametnih kartica isporučeni su u kućištu koje može poslužiti kao čitač i koje uključuje bateriju, zaštitnu pokrovnu ploču i druge zaštitne, izdržljive i funkcionalne značajke. Druge su predviđene kao sklopna ploča na koju se moraju dodati kućište, serijski kabel i 9-voltna DC baterija radi funkcionalnosti i zaštite programatora. S druge strane, prvi tip se prodaje za više od 1000 USD (USD), dok je potonji manje od 25 USD.