Un compilator este un program (sau set de programe) care traduce textul unui program scris într-un limbaj de programare „sursă” într-un alt limbaj de calculator, numit limbaj „țintă”. Sursa originală se numește de obicei cod sursă iar rezultatul cod obiect.
De obicei rezultatul are o formă potrivită pentru procesarea de către alte programe (de ex. un linker), și poate fi inteligibil și pentru oameni. Codul obiect poate fi însă și un program executabil.