Je program, který zpracovává vstupní data pro výstup, který slouží jako vstup do jiného programu. Výstup předzpracovává formu vstupních dat, které jsou často používány některými dalšímy programy, jako kompilátory. Množství a druh provedeného zpracování závisí na povaze preprocesoru, některé preprocesory jsou pouze schopny plnit poměrně jednoduché textové substituce a makro expanze, zatímco jiné mají sílu plně rozvinutou programovací jazyky.