
Compile SCSS and LESS to CSS Online, No Build Tool Required
Compile SCSS or LESS snippets (variables, nesting, mixins) to CSS in the browser without npm run build — for reviews, snippets, or a machine without Node.
Compiling SCSS or LESS outside the project
A pull-request comment that includes twelve lines of SCSS, a Stack Overflow snippet with a parametric mixin, or an onboarding session on a laptop that does not have Node installed: none of these justify spinning up npm run build. FastMinify does not replace Dart Sass in CI, sass-loader or Vite's CSS pipeline. The SCSS to CSS compiler runs Dart Sass in the tab, and the LESS to CSS compiler runs less.js the same way. Paste a snippet, or drop a local folder of partials, and read standard CSS. Nothing is uploaded. The tools sit on the CSS preprocessors hub. After compilation, chain the online CSS minifier when you want smaller CSS, because expanded output is only readable.
When to compile in the browser, and when not to
The compiler is a scalpel, not the production factory.
If the answer depends on packages, aliases, or the full application graph, stay in CI.
The compile mistakes that waste a whole afternoon
A design-system token, a one-off mixin, or a review comment does not need Vite, webpack, or a Docker Node image. The cost is waiting for install, cache, and a full CSS graph when you only wanted to see what $spacing * 2 becomes.
Dart Sass module syntax works. What does not work in the browser is resolving packages. FastMinify never reads your disk outside the folder you drop, and it does not fetch node_modules, GitHub, or a CDN.
SCSS/LESS → CSS is a language transform. CSS → smaller CSS is a minification step (whitespace, comments, sometimes rewrite). Compressed Sass output is not CSSO. Do not skip the CSS minification guide if size is the goal.
SCSS variables start with $ and mixins use @mixin / @include. LESS variables start with @ and mixins look like class definitions. Dart Sass will not parse LESS; less.js will not parse SCSS.
SCSS, LESS and a real build, and what FastMinify actually runs
The SCSS tool compiles with Dart Sass (compileString, syntax scss). The LESS tool compiles with less.js. Options differ because the engines differ, so there is no shared “preprocessor” toggle.
Paste mode is one buffer. Bundling is one entry file plus the local files Dart Sass or Less actually reaches. It is not a concat zipper. In this version: one entry, no source maps, no package resolution, 32 MiB per file and 32 MiB total. A single paste is capped at 512 KiB, the same cap as other inputs of that size on the site.
Use the browser when the question is “what CSS does this snippet emit?” Use the project toolchain when the question is “what CSS does this app ship?” npm packages, glob imports and load-path aliases exist only in the latter. An online compiler is still not a bundler. See also online minifiers vs build tools.
What SCSS and LESS actually compile to
A variable is substituted; nested selectors are flattened. That is the whole point of a 20-line review snippet: you want to see the CSS a browser will parse, not the authoring sugar.
Before
After
A mixin is copied into each include site. FastMinify compiles the same constructs you would use locally: SCSS @mixin / @include, LESS parametric mixins, and LESS guards such as when (@size > 12px).
Before
After
@use 'sass:color' is a built-in module, so it compiles in paste mode. @use './tokens' is a file module: drop the folder, pick the entry and let Dart Sass walk the reachable .scss / .sass partials. LESS has no Sass module system. It uses @import of local .less files when you bundle a project.
Before
After
Compiling in the tab, from a snippet to local partials to CSS
Open the SCSS compiler or the LESS compiler. Pasting compiles automatically. After you type, press Compile or ⌘↵ (Ctrl+Enter elsewhere), because compiling on every keystroke is intentionally off. Cap: 512 KiB for a single paste.
First, paste the preprocessor source
SCSS curly-brace syntax in the SCSS tool; LESS in the LESS tool. Load sample if you just want to see the pipeline.
Then, set the output options
For SCSS, choose expanded or compressed, with an optional source map and optional silenced deprecations. For LESS, choose compress, source map and strict math, and inline JS only if you trust the source.
Finally, read the CSS, bytes and lines
The result panel shows compiled CSS plus input/output size. Copy the CSS into the PR, the CMS, or the next FastMinify tool.
Choose Bundle project, drop the folder, pick one entry file. Dart Sass resolves local @use / @import, and Less resolves local @import. Paths stay relative inside that folder. Source maps are unavailable when bundling in this version. Limits: 32 MiB per file and 32 MiB total, one entry.
Compilation answers "what CSS is this?". Formatting and size are separate tools on purpose.
When the browser is enough, and when you still need the CLI
If the stylesheet graph includes npm packages, shared load paths or a CI job, run the same Dart Sass the browser uses, on disk. FastMinify is the preview, and CI is the source of truth for what production CSS contains.
Basic example
less.js in the browser matches a snippet. A Bootstrap-era LESS tree with @import "bootstrap" needs lessc and the packages on disk, and FastMinify will not download them.
Basic example
Vite compiles ?inline and .scss imports through the module graph, and webpack uses sass-loader / less-loader. That is where PostCSS, Purge and CSS minification belong for an application. The browser tools serve the isolated snippet and the folder you can drop, and they do not replace the bundler. Trade-off versus an online-only workflow: install cost, but package resolution and watch mode.
No install, no upload, Dart Sass and less.js in the tab, plus a local bundle for partials. Trade-off: 512 KiB paste and 32 MiB bundle, no npm, no bundle source maps. Use it to review, teach and unblock a machine without Node, then minify CSS if you ship the result.
Conclusion
SCSS and LESS still earn their keep as authoring languages, with variables, nesting and mixins, but you should not need a full Node install to see the CSS a snippet emits. FastMinify runs Dart Sass and less.js in the browser, optionally over a dropped folder of local partials, with explicit limits: no node_modules, no bundle source maps, 512 KiB paste and 32 MiB bundle. Compile, then format or minify with the matching CSS tools. The production app still belongs in Vite, webpack or the Sass CLI. Start on the CSS preprocessors hub, and read the CSS minification guide when size, not syntax, is the next problem.
Compile SCSS or LESS now
Related Articles

Paste a token and a JWKS to check an RS256, ES256 or HS256 signature in your browser. How kid picks the key, measured errors and the claims to check.

HTTP/2 and HTTP/3 change how files travel, not how big they are. Measured sizes, compile times and bundling tests show what minification still saves.

Convert a Unix epoch to a readable date and back, tell seconds from milliseconds, and avoid time zone, JWT and clock change traps, all in your browser.