What is the difference between @ and $ variables?
LESS uses @ as the variable sigil (@primary: #66ccff;). Sass uses $ ($primary: #66ccff;). The conversion is mechanical — every @name (except CSS at-rules like @media, @keyframes, @import) becomes $name. The converter recognises the at-rule whitelist and leaves @media untouched.
Should I use SASS over LESS?
For new projects, yes. Sass is the most active CSS preprocessor — Dart Sass ships monthly releases, ecosystem support is broadest, and most modern frameworks (Bootstrap 4+, Material UI, Vite, Angular CLI) use Sass natively. LESS is still maintained but development is slower. Migrate if you are starting fresh or want the best long-term tooling.
Why convert to indented SASS specifically and not SCSS?
Indented SASS is more concise — no braces, no semicolons. Some teams prefer the visual cleanliness. SCSS is more familiar to CSS developers. Both compile to the same output and use the same Sass compiler. If you want the brace-and-semicolon flavour, see LESS to SCSS instead (forthcoming) or use the Sass compiler with .scss extension.
How are LESS mixins translated?
LESS mixin definitions look like .name() { ... }; Sass uses @mixin name { ... } and @include name. Call sites also differ. The converter handles variable and structural translation; mixin definitions and call sites need a manual rewrite — usually under 10 minutes for a typical component.
What about LESS guards and conditionals?
LESS uses .mixin() when (@var > 0) syntax for guards. Sass uses @if / @else inside an @mixin. These language features need a manual port — the converter focuses on the 90% case (variables, declarations, nesting).
Will the SASS output compile with Dart Sass?
Yes. Save with a .sass extension (not .scss) and run sass input.sass output.css. Dart Sass autodetects the indented syntax from the file extension. sass-loader and Vite plugins do the same.
Does the converter handle @media queries?
Yes. The converter recognises @media as a CSS at-rule, not a LESS variable, and leaves the @ prefix intact. The braces are still stripped and the structure becomes indent-based.
Is my source uploaded?
No. Conversion runs entirely in your browser as JavaScript. Your .less source never leaves the device. Verify in DevTools — Network tab stays empty when you click Convert.