Un Programador es un dispositivo electrónico que configura circuitos programables no volátiles tales como EPROM, EEPROM, Flash, PALs, GALs, FPGA u otros.
Para programar un dispositivo, este es insertado en un zócalo (comúnmente ZIF) del programador, o se conecta su circuito impreso mediante un adaptador.
Los datos se transfieren de distinta forma según la interfaz, ya sea serial (JTAG, SPI) o paralela.
Los programadores suelen estar conectados a una computadora que corre un software de programación.
El mismo configura la interfaz, comienza la programación y transfiere los datos (usualmente contenidos en un archivo Intel HEX o SREC).