Kartu pintar adalah kartu yang mungkin mampu menyimpan data, atau mungkin juga memiliki mikroprosesor dan oleh karena itu, pada dasarnya, merupakan komputer mini dan mampu memproses data. Spesifikasi maksimum kartu pintar termasuk 8 kb (kilobyte) RAM, 346 kb ROM, dan 256 kb ROM yang dapat diprogram, bersama dengan mikroprosesor 16-bit. Programmer kartu pintar adalah perangkat untuk memprogram kartu pintar.
Ada semakin banyak penggunaan untuk kartu pintar. Mereka dapat digunakan dalam sistem keamanan komputer, misalnya di papan ketik kartu pintar, atau dalam akses gedung. Mereka dapat berfungsi sebagai kartu kredit, uang tunai elektronik, atau kartu perbankan. Mereka juga dapat digunakan dalam sistem loyalitas atau sebagai kartu identitas. Penggunaan tepat yang direncanakan untuk kartu pintar akan menentukan bagaimana pemrogram kartu pintar diatur untuk memformatnya.
Beberapa keputusan yang harus dibuat sebelum pemrogram kartu pintar mulai bekerja melibatkan memutuskan apakah kartu akan memiliki penggunaan tunggal atau ganda, apakah akan menyimpan informasi atau nilai catatan, dan apakah beberapa atau semua data pada kartu harus disimpan dengan aman. Keputusan tentang enkripsi dan validasi untuk mengakses kartu, seperti kata sandi atau nomor PIN juga penting untuk dibuat sebelum memutuskan kartu pintar dan pemrogram kartu pintar yang tepat untuk digunakan dan memastikan kartu dan pemrogram kompatibel. Masalah penting lainnya adalah bahasa yang akan digunakan untuk memprogram kartu: sementara beberapa kartu diprogram dalam JAVA, yang lain diprogram dalam BASIC, atau bahasa lain.
Pertimbangan penting lainnya ketika memilih pemrogram kartu pintar dan salah satu perbedaan utama antara model, adalah apakah pemrogram kartu pintar kontak atau pemrogram kartu pintar nirkontak. Kartu pintar kontak adalah kartu yang harus dimasukkan ke dalam pembaca. Kartu pintar tanpa kontak, di sisi lain, memiliki tag Identifikasi Frekuensi Radio (RFID) yang disematkan, dan – selama itu berada dalam “rentang baca” – dapat berkomunikasi dengan pembaca kartu pintar dari kejauhan.
Beberapa perangkat pemrogram kartu pintar dibuat untuk bekerja dengan banyak jenis kartu pintar, sementara beberapa hanya dikonfigurasi untuk satu jenis tertentu. Beberapa dimaksudkan untuk kartu yang akan dicairkan dan beberapa dirancang untuk penggunaan di tempat dalam keadaan di mana re-keying dan/atau menambahkan pengguna baru adalah masalah yang sedang berlangsung. Selain itu, beberapa pemrogram kartu pintar disediakan dalam wadah yang dapat berfungsi ganda sebagai pembaca dan itu termasuk paket baterai, pelat penutup pelindung, dan fitur pelindung, daya tahan, dan fungsional lainnya. Lainnya disediakan sebagai papan sirkuit di mana kasing, kabel serial, dan baterai DC 9 volt harus ditambahkan untuk fungsionalitas dan untuk melindungi pemrogram. Di sisi lain, tipe pertama dijual seharga lebih dari $1000 Dolar AS (USD), sedangkan yang kedua kurang dari $25 USD.