PostCSS logo

PostCSS Plugin Directory

A directory with 89 PostCSS plugins.
This list aims to only show plugins that you can use today.

Criteria


Directory

add-theming-layer (spectrum-tools)

Leveraging style container queries to create an abstraction layer for supporting multiple theming systems

npm
npm -i @spectrum-tools/postcss-add-theming-layer
Version
1.0.2
License
Apache-2.0
PostCSS version range
>=8
  • custom properties
  • theming

alpha-function (csstools)

Use the alpha() function in CSS

npm
npm -i @csstools/postcss-alpha-function
Version
1.0.1
License
MIT-0
PostCSS version range
^8.4
Node version range
>=18
  • alpha
  • color

atomizer

PostCSS Atomizer plugin

npm
npm -i postcss-atomizer
Version
2.0.0
License
BSD-3-Clause
PostCSS version range
^8.3.0
Node version range
>=16.0
  • atomizer

autoprefixer

Parse CSS and add vendor prefixes to CSS rules using values from the Can I Use website

npm
npm -i autoprefixer
Version
10.4.22
License
MIT
PostCSS version range
^8.1.0
Node version range
^10 || ^12 || >=14
  • prefix

bundler (csstools)

Bundle CSS

npm
npm -i @csstools/postcss-bundler
Version
2.0.8
License
MIT-0
PostCSS version range
^8.4
Node version range
>=18
  • bundler
  • import
  • url

calc

PostCSS plugin to reduce calc()

npm
npm -i postcss-calc
Version
10.1.1
License
MIT
PostCSS version range
^8.4.38
Node version range
^18.12 || ^20.9 || >=22.0
  • calc

cascade-layers (csstools)

Use cascade layers in CSS

npm
npm -i @csstools/postcss-cascade-layers
Version
5.0.2
License
MIT-0
PostCSS version range
^8.4
Node version range
>=18
  • cascade
  • layers
  • selector
  • specificity

clip-path-polyfill

Generates SVG fallback for clip-path properties to make it works in Firefox

npm
npm -i postcss-clip-path-polyfill
Version
1.1.0
License
ISC
PostCSS version range
^8.0.0
  • clip-path

color-function-display-p3-linear (csstools)

Use the display-p3-linear color space on the color() function in CSS

npm
npm -i @csstools/postcss-color-function-display-p3-linear
Version
1.0.1
License
MIT-0
PostCSS version range
^8.4
Node version range
>=18
  • color
  • display-p3-linear

content-alt-text (csstools)

Generate fallback values for content with alt text

npm
npm -i @csstools/postcss-content-alt-text
Version
2.0.8
License
MIT-0
PostCSS version range
^8.4
Node version range
>=18
  • accessibility
  • alt
  • content
  • fallback

contrast-color-function (csstools)

Dynamically specify a text color with adequate contrast

npm
npm -i @csstools/postcss-contrast-color-function
Version
2.0.12
License
MIT-0
PostCSS version range
^8.4
Node version range
>=18
  • contrast
  • contrast-color
  • wcag

csscomb

PostCSS plugin to apply CSScomb

npm
npm -i postcss-csscomb
Version
4.0.0
License
MIT
PostCSS version range
^8.2.4
Node version range
>=12

custom-media

Use Custom Media Queries in CSS

npm
npm -i postcss-custom-media
Version
11.0.6
License
MIT
PostCSS version range
^8.4
Node version range
>=18
  • atrule
  • media
  • query

debug-logger (csstools)

Log the AST nodes PostCSS is processing

npm
npm -i @csstools/postcss-debug-logger
Version
3.0.0
License
MIT-0
PostCSS version range
^8.4
Node version range
>=18
  • debug

delete-duplicate-css

PostCSS plugin delete duplicate css in the file

npm
npm -i postcss-delete-duplicate-css
Version
1.0.0
License
MIT
PostCSS version range
^8.2.8
Node version range
>=10.0.0
  • duplicate

design-tokens (csstools)

Use design tokens in your CSS

npm
npm -i @csstools/postcss-design-tokens
Version
4.0.5
License
MIT-0
PostCSS version range
^8.4
Node version range
>=18
  • design-tokens

env-function

Use env() variables in CSS

npm
npm -i postcss-env-function
Version
7.0.0
License
MIT-0
PostCSS version range
^8.4
Node version range
>=18
  • constants
  • variables

exponential-functions (csstools)

Use pow(), sqrt(), hypot(), log(), exp() exponential functions in CSS

npm
npm -i @csstools/postcss-exponential-functions
Version
2.0.9
License
MIT-0
PostCSS version range
^8.4
Node version range
>=18
  • exp
  • exponential
  • hypot
  • log
  • pow
  • sqrt

extract (csstools)

Extract bits of your CSS

npm
npm -i @csstools/postcss-extract
Version
4.0.1
License
MIT-0
PostCSS version range
^8.4
Node version range
>=18

    extract-css-variables (lesjoursfr)

    PostCSS plugin to extract rules with CSS variables

    npm
    npm -i @lesjoursfr/postcss-extract-css-variables
    Version
    3.0.0
    License
    MIT
    PostCSS version range
    ^8.5.6
    Node version range
    22.x || 24.x

    flex-gap-polyfill

    A PostCSS polyfill for adding gap between flex items

    npm
    npm -i flex-gap-polyfill
    Version
    5.0.0
    License
    CC0-1.0
    PostCSS version range
    ^8.3.6
    Node version range
    >=8.0.0
    • flex
    • gutters

    flexbox-reset

    PostCSS plugin for resetting flexbox

    npm
    npm -i postcss-flexbox-reset
    Version
    1.0.5
    License
    MIT
    PostCSS version range
    ^8.1.0
    Node version range
    >=10.0.0
    • flex

    flow (soyleninjs)

    PostCSS plugin for creating fluid and responsive CSS values with granular breakpoint control using the flow() function

    npm
    npm -i @soyleninjs/postcss-flow
    Version
    1.0.0
    License
    MIT
    PostCSS version range
    >=8.0.0
    Node version range
    >=12.0.0
    • breakpoints
    • clamp
    • desktop-first
    • fluid
    • fluid-typography
    • interpolation

    fluid (lehoczky)

    PostCSS plugin that makes it easier to work with fluid css values.

    npm
    npm -i @lehoczky/postcss-fluid
    Version
    1.0.3
    License
    MIT
    PostCSS version range
    ^8.3.0
    Node version range
    >=12.0.0

    font-awesome (marketing-relevance)

    PostCSS plugin to pull in a Font Awesome's icon unicode

    npm
    npm -i @marketing-relevance/postcss-font-awesome
    Version
    1.0.3
    License
    MIT
    PostCSS version range
    ^8.0.9
    • font awesome

    font-format-keywords (csstools)

    Use unquoted format on @font-face CSS definitions.

    npm
    npm -i @csstools/postcss-font-format-keywords
    Version
    4.0.0
    License
    MIT-0
    PostCSS version range
    ^8.4
    Node version range
    >=18

      glitch

      PostCSS plugin for glitch effect

      npm
      npm -i postcss-glitch
      Version
      3.2.38
      License
      MIT
      PostCSS version range
      ^8.1.1
      Node version range
      >=12
      • animation

      global-data (byronogis)

      PostCSS plugin to define global data that will be injected into PostCSS for use in other plugins.

      npm
      npm -i @byronogis/postcss-global-data
      Version
      1.0.1
      License
      MIT
      PostCSS version range
      ^8.4
      • productivity

      global-data (csstools)

      PostCSS plugin to define global data that will be injected into PostCSS for use in other plugins.

      npm
      npm -i @csstools/postcss-global-data
      Version
      3.1.0
      License
      MIT-0
      PostCSS version range
      ^8.4
      Node version range
      >=18
      • productivity

      gradients-interpolation-method (csstools)

      Use interpolation methods in CSS gradient functions

      npm
      npm -i @csstools/postcss-gradients-interpolation-method
      Version
      5.0.12
      License
      MIT-0
      PostCSS version range
      ^8.4
      Node version range
      >=18
      • color
      • color space interpolation
      • gradients
      • hue interpolation method
      • interpolation
      • linear
      • radial
      • repeating

      grid-kiss

      A PostCSS plugin to keep CSS grids stupidly simple

      npm
      npm -i postcss-grid-kiss
      Version
      3.1.0
      License
      MIT
      PostCSS version range
      ^8.2.14
      Node version range
      >=6.0.0
      • ascii-art
      • grid

      hover-focus-visible

      PostCSS plugin to add :focus-visible selector and/or :focus to every :hover, this is for keyboard accessibility

      npm
      npm -i postcss-hover-focus-visible
      Version
      1.0.2
      License
      MIT
      PostCSS version range
      ^8.0.0
      • accessibility
      • focus
      • focus-visible
      • hover

      hover-media-feature

      PostCSS plugin that extracts and wraps rules containing `:hover` pseudo-classes in `@media (hover: hover) {}` media queries

      npm
      npm -i postcss-hover-media-feature
      Version
      1.0.2
      License
      MIT
      PostCSS version range
      ^8.0.0
      Node version range
      >=10.0.0
      • hover
      • media
      • query

      hwb-function (csstools)

      Use hwb() color functions in CSS

      npm
      npm -i @csstools/postcss-hwb-function
      Version
      4.0.12
      License
      MIT-0
      PostCSS version range
      ^8.4
      Node version range
      >=18
      • color
      • hwb

      ic-unit (csstools)

      Use the ic length unit

      npm
      npm -i @csstools/postcss-ic-unit
      Version
      4.0.4
      License
      MIT-0
      PostCSS version range
      ^8.4
      Node version range
      >=18
      • glyph
      • ic

      image-inliner

      PostCSS plugin to inline images into css

      npm
      npm -i postcss-image-inliner
      Version
      7.0.1
      License
      MIT
      PostCSS version range
      ^8.3.0
      Node version range
      >=16.10
      • image
      • inline

      import-svg

      PostCSS plugin to reference an SVG file and inline it, optionally update currentColor references

      npm
      npm -i postcss-import-svg
      Version
      1.0.5
      License
      MIT
      PostCSS version range
      ^8.1.4
      • inline

      is-pseudo-class (csstools)

      A pseudo-class for matching elements in a selector list

      npm
      npm -i @csstools/postcss-is-pseudo-class
      Version
      5.0.3
      License
      MIT-0
      PostCSS version range
      ^8.4
      Node version range
      >=18
      • matches
      • selector

      light-dark-function (csstools)

      Use the light-dark() color function in CSS

      npm
      npm -i @csstools/postcss-light-dark-function
      Version
      2.0.11
      License
      MIT-0
      PostCSS version range
      ^8.4
      Node version range
      >=18

        logical-float-and-clear (csstools)

        Use flow-relative (inline-start and inline-end) values for float and clear

        npm
        npm -i @csstools/postcss-logical-float-and-clear
        Version
        3.0.0
        License
        MIT-0
        PostCSS version range
        ^8.4
        Node version range
        >=18
        • inline
        • logical

        logical-overscroll-behavior (csstools)

        Use logical overscroll behavior properties and values in CSS

        npm
        npm -i @csstools/postcss-logical-overscroll-behavior
        Version
        2.0.0
        License
        MIT-0
        PostCSS version range
        ^8.4
        Node version range
        >=18
        • logical
        • overscroll-behavior

        merge-rules

        Merge CSS rules with PostCSS.

        npm
        npm -i postcss-merge-rules
        Version
        7.0.6
        License
        MIT
        PostCSS version range
        ^8.4.32
        Node version range
        ^18.12.0 || ^20.9.0 || >=22.0

        minify (csstools)

        A very basic CSS minifier

        npm
        npm -i @csstools/postcss-minify
        Version
        2.0.4
        License
        MIT-0
        PostCSS version range
        ^8.4
        Node version range
        >=18
        • minifier

        modules (carbonorm)

        PostCSS plugin to use CSS Modules everywhere

        npm
        npm -i @carbonorm/postcss-modules
        Version
        6.0.2
        License
        MIT
        PostCSS version range
        ^8.0.0

        modules (wixc3)

        PostCSS plugin to use CSS Modules everywhere

        npm
        npm -i @wixc3/postcss-modules
        Version
        6.1.1
        License
        MIT
        PostCSS version range
        ^8.0.0

        multiple-tailwind

        PostCSS plugin to process multiple tailwindcss configs

        npm
        npm -i postcss-multiple-tailwind
        Version
        1.0.1
        License
        MIT
        PostCSS version range
        ^8.2.8
        Node version range
        >=10.0.0

        nested

        PostCSS plugin to unwrap nested rules like how Sass does it

        npm
        npm -i postcss-nested
        Version
        7.0.2
        License
        MIT
        PostCSS version range
        ^8.2.14
        Node version range
        >=18.0
        • nested
        • sass

        nested-ancestors

        PostCSS plugin to reference any ancestor selector in nested CSS

        npm
        npm -i postcss-nested-ancestors
        Version
        3.0.0
        License
        MIT
        PostCSS version range
        ^8.0.0
        Node version range
        >=12
        • selector

        nested-calc (csstools)

        Use nested calc() expressions in CSS

        npm
        npm -i @csstools/postcss-nested-calc
        Version
        4.0.0
        License
        MIT-0
        PostCSS version range
        ^8.4
        Node version range
        >=18
        • calc
        • math
        • nested

        nested-once

        Postcss plugin to unwrap nested rules (like how Sass does it), compatible with rollup-plugin-styles

        npm
        npm -i postcss-nested-once
        Version
        1.0.0
        License
        MIT
        PostCSS version range
        ^8.3.5
        Node version range
        >=10.0
        • nested
        • sass

        normalize-display-values (csstools)

        Use two values display syntax for inner and outer display types.

        npm
        npm -i @csstools/postcss-normalize-display-values
        Version
        4.0.0
        License
        MIT-0
        PostCSS version range
        ^8.4
        Node version range
        >=18
        • flex
        • grid
        • inline

        normalize-whitespace

        Trim whitespace inside and around CSS rules & declarations.

        npm
        npm -i postcss-normalize-whitespace
        Version
        7.0.1
        License
        MIT
        PostCSS version range
        ^8.4.32
        Node version range
        ^18.12.0 || ^20.9.0 || >=22.0

        oklab-function (csstools)

        Use oklab() and oklch() color functions in CSS

        npm
        npm -i @csstools/postcss-oklab-function
        Version
        4.0.12
        License
        MIT-0
        PostCSS version range
        ^8.4
        Node version range
        >=18
        • color
        • display-p3
        • oklab
        • oklch

        perfectionist-dfd

        Beautify and/or normalize CSS files. Fork and update of a fork and update of an archived project.

        npm
        npm -i perfectionist-dfd
        Version
        3.0.3
        License
        MIT
        PostCSS version range
        ^8.4.12

        place

        Use a place-* shorthand for align-* and justify-* in CSS

        npm
        npm -i postcss-place
        Version
        10.0.0
        License
        MIT-0
        PostCSS version range
        ^8.4
        Node version range
        >=18
        • shorthand

        plugin (sharegate)

        Sharegate recommended PostCSS config.

        npm
        npm -i @sharegate/postcss-plugin
        Version
        2.0.1
        License
        Apache-2.0
        PostCSS version range
        >=8.4.6

        plugin (shopify)

        Shopify's org-wide PostCSS preset

        npm
        npm -i @shopify/postcss-plugin
        Version
        5.0.4
        License
        MIT
        PostCSS version range
        ^8.2.8

        prefers-color-scheme

        Use light and dark color schemes in all browsers

        npm
        npm -i css-prefers-color-scheme
        Version
        10.0.0
        License
        MIT-0
        PostCSS version range
        ^8.4
        Node version range
        >=18
        • color
        • media
        • query

        prefix-hover

        PostCSS plugin for prefixing a selection containing :hover

        npm
        npm -i postcss-prefix-hover
        Version
        1.0.3
        License
        MIT
        PostCSS version range
        ^8.2.8
        Node version range
        >=10.0.0
        • hover

        prefix-selector

        Prefix all CSS rules with a selector

        npm
        npm -i postcss-prefix-selector
        Version
        2.1.1
        License
        MIT
        PostCSS version range
        ^8.0.0
        • prefix
        • selector

        preload-hovers

        A plugin to search for images with the :hover pseudo-class and generate links to preload them

        npm
        npm -i postcss-preload-hovers
        Version
        3.0.0
        License
        MIT
        PostCSS version range
        ^8.4.14
        • preload

        progressive-custom-properties (csstools)

        Correctly declare progressive enhancements for CSS Custom Properties.

        npm
        npm -i @csstools/postcss-progressive-custom-properties
        Version
        4.2.1
        License
        MIT-0
        PostCSS version range
        ^8.4
        Node version range
        >=18
        • variables

        px2vw (moohng)

        A CSS post-processor that converts px to vw and fallback rem.

        npm
        npm -i @moohng/postcss-px2vw
        Version
        1.2.0
        License
        MIT
        PostCSS version range
        ^8.3.6
        Funding
        open
        • px
        • rem
        • viewport
        • vw

        pxtorem

        A CSS post-processor that converts px to rem.

        npm
        npm -i postcss-pxtorem
        Version
        6.1.0
        License
        MIT
        PostCSS version range
        ^8.0.0
        • px
        • rem

        pxtorem (minko-fe)

        A postcss plugin that converts px to rem.

        npm
        npm -i @minko-fe/postcss-pxtorem
        Version
        1.5.0
        License
        MIT
        PostCSS version range
        >=8.0.0
        • px
        • rem

        random-function (csstools)

        Use the random function in CSS

        npm
        npm -i @csstools/postcss-random-function
        Version
        2.0.1
        License
        MIT-0
        PostCSS version range
        ^8.4
        Node version range
        >=18
        • random

        react-zero-ui (austinserb)

        Zero re-render UI state management for React

        npm
        npm -i @austinserb/react-zero-ui
        Version
        1.0.21
        License
        MIT
        PostCSS version range
        ^8.5.5
        Node version range
        >=18.0.0
        • no-rerender
        • pre-rendering
        • react-zero-ui
        • state
        • zero-config
        • zero-ui

        rebase-url (csstools)

        Rebase url() functions when transforming CSS

        npm
        npm -i @csstools/postcss-rebase-url
        Version
        2.0.5
        License
        MIT-0
        PostCSS version range
        ^8.4
        Node version range
        >=18
        • url

        reference

        PostCSS plugin for referencing selectors' rules from CSS files and defined rulesets.

        npm
        npm -i postcss-reference
        Version
        2.2.1
        License
        MIT
        PostCSS version range
        ^8.4.16
        • extend
        • import

        relative-color-syntax (csstools)

        Use the relative color syntax in CSS

        npm
        npm -i @csstools/postcss-relative-color-syntax
        Version
        3.0.12
        License
        MIT-0
        PostCSS version range
        ^8.4
        Node version range
        >=18
        • color
        • relative color syntax

        remove-duplicate-values

        🚀 PostCSS plugin that intelligently removes duplicate CSS properties, reduces bundle size, and improves CSS maintainability. Handles !important declarations, vendor prefixes, and selector filtering with zero configuration.

        npm
        npm -i postcss-remove-duplicate-values
        Version
        2.0.0
        License
        MIT
        PostCSS version range
        ^8.4
        • bundle-optimization
        • performance

        replace-overflow-wrap

        PostCSS plugin to replace overflow-wrap with word-wrap or optionally retain both declarations.

        npm
        npm -i postcss-replace-overflow-wrap
        Version
        4.0.0
        License
        MIT
        PostCSS version range
        ^8.0.3

        rewrite-url (csstools)

        Rewrite url values in CSS

        npm
        npm -i @csstools/postcss-rewrite-url
        Version
        2.1.1
        License
        MIT-0
        PostCSS version range
        ^8.4
        Node version range
        >=18
        • rewrite
        • url

        rtl (mjhenkes)

        PostCSS plugin for RTL-optimizations

        npm
        npm -i @mjhenkes/postcss-rtl
        Version
        2.0.0
        License
        MIT
        PostCSS version range
        ^8.0.0
        Node version range
        >=0.12
        • ltr
        • rtl

        sass (csstools)

        Use Sass as a PostCSS plugin

        npm
        npm -i @csstools/postcss-sass
        Version
        5.1.1
        License
        CC0-1.0
        PostCSS version range
        ^8.4.6
        Node version range
        ^12 || ^14 || >=16
        • sass
        • scss

        scope-pseudo-class (csstools)

        The Reference Element Pseudo-class: :scope

        npm
        npm -i @csstools/postcss-scope-pseudo-class
        Version
        4.0.1
        License
        MIT-0
        PostCSS version range
        ^8.4
        Node version range
        >=18
        • scope
        • selector

        scopify

        PostCSS plugin that adds a user input scope to each selector

        npm
        npm -i postcss-scopify
        Version
        1.0.0
        License
        MIT
        PostCSS version range
        ^8.3.0
        • css post processing
        • scope
        • scoped css

        selector-prefix

        PostCSS plugin to add a selector prefix to all selectors.

        npm
        npm -i postcss-selector-prefix
        Version
        5.0.1
        License
        MIT
        PostCSS version range
        ^8.4.27
        Node version range
        >=18.0.0
        • prefix
        • selector

        selector-rename

        A PostCSS plugin to rename css selector

        npm
        npm -i postcss-selector-rename
        Version
        3.0.1
        License
        MIT
        PostCSS version range
        ^8.0.0

        shadrem (classicmike)

        This PostCSS plugin replaces standard rem units with a custom shadrem unit to enable REM-like support within Shadow DOM. It uses the font size of the shadow root as the base for shadrem measurements, ensuring consistent styling that adapts to the shadow D

        npm
        npm -i @classicmike/postcss-shadrem
        Version
        1.1.0
        License
        MIT
        PostCSS version range
        ^8.4.27
        Node version range
        >=16.0.0

        slow-plugins (csstools)

        Identify slow plugins in your PostCSS config

        npm
        npm -i @csstools/postcss-slow-plugins
        Version
        2.0.0
        License
        MIT-0
        PostCSS version range
        ^8.4
        Node version range
        >=18
        • debug
        • performance
        • profiling
        • slow

        stack

        A better way to manage z-indexes

        npm
        npm -i postcss-stack
        Version
        5.0.0
        License
        MIT
        PostCSS version range
        ^8.3.6
        Node version range
        >=12.0.0
        • z-index

        tailwind-postcss-spacing

        PostCSS plugin for scalable design systems - converts px/rem to calc() expressions with CSS custom properties. Perfect for Tailwind CSS projects requiring dynamic spacing control.

        npm
        npm -i tailwind-postcss-spacing
        Version
        1.0.2
        License
        MIT
        PostCSS version range
        ^8.0.0
        Node version range
        >=14.0.0
        • calc
        • conversion
        • custom-properties
        • design-system
        • px
        • rem
        • scalable
        • spacing
        • tailwind
        • transform

        text-decoration-shorthand (csstools)

        Use text-decoration in it's shorthand form in CSS

        npm
        npm -i @csstools/postcss-text-decoration-shorthand
        Version
        4.0.3
        License
        MIT-0
        PostCSS version range
        ^8.4
        Node version range
        >=18
        • shorthand

        themes (wordpress)

        PostCSS plugin to generate theme colors.

        npm
        npm -i @wordpress/postcss-themes
        Version
        6.35.0
        License
        GPL-2.0-or-later
        PostCSS version range
        ^8.0.0
        Node version range
        >=18.12.0
        • color

        typescript-d-ts

        Generates TypeScript definition (.d.ts) files for each of the postcss modules file

        npm
        npm -i postcss-typescript-d-ts
        Version
        1.0.0
        License
        MIT
        PostCSS version range
        ^8.1.5
        Node version range
        >=10.0.0

        unset-value (csstools)

        Use the unset keyword in CSS.

        npm
        npm -i @csstools/postcss-unset-value
        Version
        4.0.0
        License
        MIT-0
        PostCSS version range
        ^8.4
        Node version range
        >=18

          var-optimize

          PostCSS plugin to convert css variables that are not redeclared and remove duplicates

          npm
          npm -i postcss-var-optimize
          Version
          8.1.0
          License
          MIT
          PostCSS version range
          ^8.0.0
          Node version range
          >=8.0.0
          • variables

          variables-prefixer

          postcss plugin to prefix all css custom properties

          npm
          npm -i postcss-variables-prefixer
          Version
          1.2.0
          License
          MIT
          PostCSS version range
          ^8.2.13
          Node version range
          >=10.0.0

          Disclaimer

          PostCSS plugins are created and maintained by many different authors. This is not a list of plugins created by "PostCSS".

          It is not possible to audit each plugin for security or interoperability issues. It remains your responsibility to choose the best dependencies for your project.

          For support and issues you can open an issue on GitHub.