OSS TanbouSign in with GitHub

compile stylesheets with variables, mixins, and nesting into standard CSS with lessc

About these scores

OSS scale score is an unbounded metric that log-compresses and weights Stars, Watchers, Forks, and Contributors. Discovery score is the current OSS scale score minus the score at discovery. Update pace is commits in the last 30 days, growth momentum is the OSS scale score difference within the recent observation window, and OSS health is a 0–100 rating based on available recency, Community Health, and release data.

Stars
17,025
Primary language
JavaScript
License
Apache-2.0
Repository last updated
Oct 3, 2026
On this page

Overview

Less extends CSS with variables, mixins, nesting, and related language features. Its lessc CLI and JavaScript compiler turn .less sources into regular CSS.

Features and best fit

Based on official documentation; not hands-on tested · Content checked:

Key features

Compile .less sources with the lessc CLI

The npm package includes a lessc binary for turning Less source files into CSS in a build step.

Sources: [2]

Add variables, mixins, and nesting while staying close to CSS syntax

Less keeps a CSS-oriented syntax while adding reusable values, rules, and nested selectors for larger stylesheet codebases.

Sources: [1]

Use a Node compiler or browser distribution

The package provides the Node compiler, while releases also publish less.js and less.min.js assets for browser usage.

Sources: [2][4]

Best fit

Fits existing Less codebases moving onto a current Node build pipeline

It is useful when teams want to preserve accumulated .less assets and mixins while modernizing the surrounding frontend toolchain.

Sources: [1][2]

Before adoption

Version 4.9.1 requires Node.js 18 or later

packages/less/package.json declares Node >=18, so older CI images or legacy build servers must be upgraded.

Sources: [2]

Clean up syntax deprecated ahead of Less 5

The 4.x line warns about numeric-leading or dash-only variable names, dash-only mixin names, dynamic @charset, and other forms planned for removal in Less 5.

Sources: [3]

Official sources

  1. [1]Less v4.9.1 README(2026-10-05)
  2. [2]Less v4.9.1 package metadata(2026-10-05)
  3. [3]Less v4.9.1 changelog(2026-10-05)
  4. [4]Less v4.9.1 release(2026-10-05)
  5. [5]Less Apache-2.0 license(2026-10-05)
Supplemental curator note

The Less 4.9.1 npm package requires Node.js 18 or later. The 4.x line also warns about legacy identifier forms scheduled for removal in Less 5, so existing codebases should treat those warnings as migration work.

Try it in 3 steps

  1. 1

    Install Less 4.9.1 in an isolated project

    Pin the reviewed release in a temporary project on Node.js 18 or later.

    demo=$(mktemp -d "${TMPDIR:-/tmp}/less.XXXXXX") && cd "$demo" && npm init -y >/dev/null && npm install --save-exact --save-dev less@4.9.1
  2. 2

    Create Less source with a variable and nesting

    Create a minimal Less source that uses a variable and nested selector.

    printf "%s\n" '@accent: #663399;' '.card {' ' color: @accent;' ' &:hover { color: white; }' '}' > input.less
  3. 3

    Compile it to CSS with lessc

    Generate CSS and confirm the variable and nested selector were compiled into regular CSS.

    npx lessc input.less output.css && grep -q ".card:hover" output.css
Check the official README

Growth

Growth trends · Last 30 days

17,025 Stars

Trend data is still being collected.

Development activity

Last 90 days · weekly

Commits (last 30 days)
0
Open PRs
12

Development activity is still being collected.

Built with

Categories and tags

Categories

GitHub data

GitHub dataView detailed GitHub data

GitHub Topics

  • stylesheet-language
  • language
  • css
Stars
17,025
Forks
3,367
Watchers
633
Open issues
175
Contributors
249
Owner type
Organization
Primary language
JavaScript
License
Apache-2.0
Repository last updated
Oct 3, 2026
Write a related article

Share a guide or use case for this OSS in Markdown. Articles are published after administrator approval.

Report incorrect information

Tell us if any listing information is incorrect or outdated.

After reading this page, do you know what to do next?