How are Stylus variables converted to LESS?
Stylus variables use $ (e.g. $primary = #66ccff) or even no prefix. LESS variables use @ (e.g. @primary: #66ccff;). The converter rewrites every $name to @name in both declarations and references, and switches the assignment operator from = to a colon.
Are nested selectors preserved?
Yes. LESS supports the same nested-selector syntax as SCSS, so the indent-based nesting in Stylus translates one-to-one. Each nested block becomes a brace-wrapped child rule. The & parent reference works identically in both languages.
What about Stylus mixins?
Mixin definitions are syntactic but their bodies need light editing in LESS. Stylus mixins are called like properties (border-radius 4px); LESS mixins are called as .mixin-name(). After conversion, rename mixin definitions with a leading dot (.mixin) and add parentheses to call sites.
Why convert Stylus to LESS?
LESS has wider editor and IDE support, runs in the browser via less.js (no Node required), and integrates cleanly with Bootstrap 3 / 4 ecosystems. Teams migrating off Stylus often choose LESS as the lowest-friction destination because both share the same conceptual model: variables, mixins, nesting.
Does the converter handle @media queries?
Yes. @media (min-width: 768px) blocks become brace-wrapped media rules in the LESS output. Nested @media inside selectors works in LESS too — the converter preserves the structure.
Can I use the LESS output with less.js in the browser?
Yes. The output is standard LESS that compiles with less.js, the lessc CLI, or webpack less-loader. Save with a .less extension and link via <link rel="stylesheet/less"> with less.js, or build to .css with lessc input.less output.css.
Are colons required in LESS declarations?
Yes. Unlike Stylus, LESS requires a colon between property and value and a semicolon at the end of every declaration. The converter inserts both automatically when translating from the more permissive Stylus syntax.
Is my source uploaded anywhere?
No. The conversion runs entirely in your browser as JavaScript. Stylus files containing internal class names or design tokens never leave your device. Verify in DevTools — the Network tab stays empty when you click Convert.