Outil ou programme qui permet de générer du CSS à partir des fichiers écrits dans un langage de compilation.
Un préprocesseur est un programme qui transforme le code source avant l’étape de compilation.
Il sert à donner une couche d’abstraction, à mieux organiser son code en utilisant l’imbrication des sélecteurs, en automatisant des tâches répétitives avec des boucles, en utilisant des structures conditionnelles et en programmant des fonctions.
Le pré-traitement combine et ajoute des fonctionnalités que le CSS ne peut pas faire par défaut avec des extensions : l’auto-préfixage, le debug, etc.
S’inspirant de la programmation objet, les préprocesseurs implémentent la notion d’héritage (@extend), supportent les opérateurs, peuvent utiliser des fonctions (définies par @mixin et appelées par @include).
Avec un préprocesseur les données font l’objet d’un prétraitement dans un autre langage avant d’être retransmises en CSS.
Les langages de prétraitement les plus connus sont SASS, LESS, Stylus.