⚡️ Lightning CSS

An extremely fast CSS parser, transformer, and minifier written in Rust. Use it with Parcel, as a standalone library or CLI, or via a plugin with any other tool.

performance and build size charts performance and build size charts

Features

Documentation

Lightning CSS can be used from Parcel, as a standalone library from JavaScript or Rust, using a standalone CLI, or wrapped as a plugin within any other tool. See the Lightning CSS website for documentation.

Benchmarks

performance and build size charts performance and build size charts

``` $ node bench.js bootstrap-4.css cssnano: 544.809ms 159636 bytes

esbuild: 17.199ms 160332 bytes

lightningcss: 4.16ms 143091 bytes

$ node bench.js animate.css cssnano: 283.105ms 71723 bytes

esbuild: 11.858ms 72183 bytes

lightningcss: 1.973ms 23666 bytes

$ node bench.js tailwind.css cssnano: 2.198s 1925626 bytes

esbuild: 107.668ms 1961642 bytes

lightningcss: 43.368ms 1824130 bytes ```

For more benchmarks comparing more tools and input, see here. Note that some of the tools shown perform unsafe optimizations that may change the behavior of the original CSS in favor of smaller file size. Lightning CSS does not do this – the output CSS should always behave identically to the input. Keep this in mind when comparing file sizes between tools.