A preprocessor compiles a richer language (Sass 22,539 , Less 48,928 or Stylus 433,552 ) into plain CSS. A postprocessor rewrites finished CSS: adding vendor prefixes, lowering new syntax for old browsers, minifying. Most production stylesheets pass through both inside a bundler such as Vite 25,978 (Build Tools and Bundlers).
Native CSS has absorbed custom properties (Custom Properties) and nesting (CSS Nesting), but preprocessors still earn their place for loops, mixins, modules and token maps, which is why Bootstrap 2,007 ships Sass sources. Every "Compiled CSS" listing below is real output from Dart Sass 1.104.1, Less 4.9.1, Stylus 0.64.0, PostCSS 8.5.28 238,379 or Lightning CSS 1.33.0.