What does the LESS to CSS compiler do?
It takes LESS source — with nested selectors, @variables, mixins, and operations — and produces flat CSS that any browser can read directly. Variables like @primary: #0066cc are substituted inline. Nested blocks are flattened with full selector paths. Parent references (&) are expanded to the outer selector. The output has no LESS-specific syntax left.
Do I need to install lessc to compile LESS?
Not for one-off conversions. The browser-based compiler handles inline LESS source without a Node install. For build pipelines you still want lessc (or less-loader for webpack / vite-plugin-less for Vite) so the build is reproducible from source control.
How are LESS @variables resolved?
When you write background: @primary, the compiler looks up the @primary: value declaration from earlier in the file and substitutes the literal value. Variables defined after their use are also resolved (LESS allows lazy evaluation). The output CSS contains the literal value, with no remaining @ references.
Does the tool support LESS @import statements?
In-browser compilation cannot read external files from your filesystem, so @import "vars.less" will not pull in the variables. Either inline the imported content into the same paste, or use lessc / less-loader for builds that need cross-file imports.
How are LESS mixins handled?
Calls like .clearfix() expand to the body of the mixin definition at the call site. Parameterised mixins like .border-radius(@r) also work — the parameter is substituted into each declaration in the mixin body. The compiled CSS contains the expanded declarations with no mixin references.
Does it handle the parent reference (&)?
Yes. Inside .button { &:hover { ... } }, the & expands to .button so the compiled rule is .button:hover { ... }. The same logic applies to BEM-style class concatenation: &__title becomes .button__title.
What about LESS arithmetic and color functions?
Arithmetic operations like @width / 2 evaluate to the literal result. Color functions like darken(@primary, 10%) and lighten() resolve to the computed colour value at compile time. The output CSS is a snapshot of the computed values — no further evaluation happens at runtime.
Is my LESS sent to a server?
No. The compilation runs entirely in your browser as JavaScript. Stylesheets containing internal class names, brand colour palettes, or unreleased design tokens never leave your machine. Open DevTools — clicking Run makes zero network requests.