by postcss

A CSS selector parser, integrates with postcss but does not require it.

132 Stars 31 Forks Last release: about 1 month ago (v6.0.4) MIT License 327 Commits 44 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:

postcss-selector-parser Build Status

Selector parser with built in methods for working with selector strings.


With npm do:

npm install postcss-selector-parser

Quick Start

const parser = require('postcss-selector-parser');
const transform = selectors => {
    selectors.walk(selector => {
        // do something with the selector

const transformed = parser(transform).processSync('h1, h2, h3');

To normalize selector whitespace:

const parser = require('postcss-selector-parser');
const normalized = parser().processSync('h1, h2, h3', {lossless: false});
// -> h1,h2,h3

Async support is provided through

and will resolve a Promise with the resulting selector string.


Please see


  • Huge thanks to Andrey Sitnik (@ai) for work on PostCSS which helped accelerate this module's development.



We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.