Lightning CSS (https://github.com/parcel-bundler/lightningcss 7,691 ), from the team behind the Parcel 195,638 bundler, does in one Rust program what a PostCSS 238,379 setup does with several plugins: parsing, vendor prefixing, syntax lowering for browserslist targets, @import bundling, CSS modules and minification. Its published benchmark minifies Bootstrap 4 2,007 in 4.16 ms against 544.81 ms for cssnano 4,977 . Given the same in.css and .browserslistrc as PostCSS and Autoprefixer:
.card {
color: #1762b6;
color: color(display-p3 .185203 .379069 .690161);
color: lab(40.8907% 2.76372 -51.5247);
-webkit-user-select: none;
user-select: none;
padding: 24px;
}
.card .title {
text-wrap: balance;
}
@media (min-width: 40rem) {
.card {
display: grid;
}
}The trade-off is extensibility: PostCSS runs any JavaScript plugin, while Lightning CSS has a fixed feature set. Vite 8 25,978 minifies CSS with Lightning CSS by default (build.cssMinify) but transforms with PostCSS unless you opt into the experimental css.transformer: "lightningcss", and Tailwind CSS 4 5,202 uses Lightning CSS internally. A sound 2026 pipeline: native CSS or Sass 22,539 modules, compiled by Vite, lowered for your browserslist targets by postcss-preset-env 1,053 or Lightning CSS (not both), then minified by Lightning CSS.