344
266
46

What is PostCSS?

PostCSS is a tool for transforming CSS with JS plugins. These plugins can support variables and mixins, transpile future CSS syntax, inline images, and more.
PostCSS is a tool in the CSS Pre-processors / Extensions category of a tech stack.
PostCSS is an open source tool with 21.3K GitHub stars and 1.2K GitHub forks. Here’s a link to PostCSS's open source repository on GitHub

Who uses PostCSS?

Companies
87 companies reportedly use PostCSS in their tech stacks, including Banksalad, Uploadcare, and SendGrid.

Developers
234 developers on StackShare have stated that they use PostCSS.

PostCSS Integrations

React.js Boilerplate, tachyons, Adobe Dreamweaver, JSFiddle, and Jetpack are some of the popular tools that integrate with PostCSS. Here's a list of all 6 tools that integrate with PostCSS.

Why developers like PostCSS?

Here’s a list of reasons why companies and developers use PostCSS
PostCSS Reviews

Here are some stack decisions, common use cases and reviews by companies and developers who chose PostCSS in their tech stack.

Dmitry Mukhin
Dmitry Mukhin
at Uploadcare · | 22 upvotes · 88.1K views
atUploadcareUploadcare
PostCSS
Preact
Ember.js
React
Python
Django

Simple controls over complex technologies, as we put it, wouldn't be possible without neat UIs for our user areas including start page, dashboard, settings, and docs.

Initially, there was Django. Back in 2011, considering our Python-centric approach, that was the best choice. Later, we realized we needed to iterate on our website more quickly. And this led us to detaching Django from our front end. That was when we decided to build an SPA.

For building user interfaces, we're currently using React as it provided the fastest rendering back when we were building our toolkit. It’s worth mentioning Uploadcare is not a front-end-focused SPA: we aren’t running at high levels of complexity. If it were, we’d go with Ember.js.

However, there's a chance we will shift to the faster Preact, with its motto of using as little code as possible, and because it makes more use of browser APIs. One of our future tasks for our front end is to configure our Webpack bundler to split up the code for different site sections. For styles, we use PostCSS along with its plugins such as cssnano which minifies all the code.

All that allows us to provide a great user experience and quickly implement changes where they are needed with as little code as possible.

See more
Lee Benson
Lee Benson
Koa
React Router
Foundation
Semantic UI
Bootstrap
PostCSS
Less
Sass
styled-components
React Helmet
Webpack
TypeScript
JavaScript
Apollo
GraphQL
React
#JSX
#React.
#Css
#StyledComponents.
#Async
#HTML
#GraphQL
#Apollo

ReactQL is a React + GraphQL front-end starter kit. #JSX is a natural way to think about building UI, and it renders to pure #HTML in the browser and on the server, making it trivial to build server-rendered Single Page Apps. GraphQL via Apollo was chosen for the data layer; #GraphQL makes it simple to request just the data your app needs, and #Apollo takes care of communicating with your API (written in any language; doesn't have to be JavaScript!), caching, and rendering to #React.

ReactQL is written in TypeScript to provide full types/Intellisense, and pick up hard-to-diagnose goofs that might later show up at runtime. React makes heavy use of Webpack 4 to handle transforming your code to an optimised client-side bundle, and in throws back just enough code needed for the initial render, while seamlessly handling import statements asynchronously as needed, making the payload your user downloads ultimately much smaller than trying to do it by hand.

React Helmet was chosen to handle <head> content, because it works universally, making it easy to throw back the correct <title> and other tags on the initial render, as well as inject new tags for subsequent client-side views.

styled-components, Sass, Less and PostCSS were added to give developers a choice of whether to build styles purely in React / JavaScript, or whether to defer to a #css #preprocessor. This is especially useful for interop with UI frameworks like Bootstrap, Semantic UI, Foundation, etc - ReactQL lets you mix and match #css and renders to both a static .css file during bundling as well as generates per-page <style> tags when using #StyledComponents.

React Router handles routing, because it works both on the server and in the client. ReactQL customises it further by capturing non-200 responses on the server, redirecting or throwing back custom 404 pages as needed.

Koa is the web server that handles all incoming HTTP requests, because it's fast (TTFB < 5ms, even after fully rendering React), and its natively #async, making it easy to async/await inside routes and middleware.

See more
Hampton Catlin
Hampton Catlin
VP of Engineering at Rent The Runway · | 4 upvotes · 38.4K views
atRent the RunwayRent the Runway
styled-components
PostCSS
Sass

We use Sass because I invented it! No, that's not a joke at all! Well, let me explain. So, we used Sass before I started at Rent the Runway because it's the de-facto industry standard for pre-compiled and pre-processed CSS. We do also use PostCSS for stuff like vendor prefixing and various transformations, but Sass (specifically SCSS) is the main developer-focused language for describing our styling. Some internal apps use styled-components and @Aphrodite, but our main website is allllll Sassy. Oh, but the non-joking part is the inventing part. /shrug

See more
Zarema Khalilova
Zarema Khalilova
Frontend Team Lead at Uploadcare · | 3 upvotes · 12.1K views
atUploadcareUploadcare
PostCSS
Less
Sass
#Frontend

We in our #Frontend team prefer to use the modern and clean syntax of #CSS instead of Sass or Less. On bundle step, we use post-processing by PostCSS to add prefixes, minify code, uploading assets and more. PostCSS get CSS more powerful, it‘s a fantastic tool.

See more
Thibault Maekelbergh
Thibault Maekelbergh
PostCSS

We wrote a lot of flexbox and css that needed prefixing. PostCSS + Webpack was the best option here. PostCSS

See more
PostCSS

PostCSS essentially allows you to set up your own CSS preprocessor with the features that matter to you. It has a modular plugin-based architecture, which means that if someone comes up with a useful new feature, you can easily add it to your stack as a PostCSS plugin. PreCSS and PostCSS-cssnext are some of my go-to plugins. PostCSS

See more

PostCSS Alternatives & Comparisons

What are some alternatives to PostCSS?
Stylus
Stylus is a revolutionary new language, providing an efficient, dynamic, and expressive way to generate CSS. Supporting both an indented syntax and regular CSS style.
Sass
Sass is an extension of CSS3, adding nested rules, variables, mixins, selector inheritance, and more. It's translated to well-formatted, standard CSS using the command line tool or a web-framework plugin.
CSS Modules
It is a CSS file in which all class names and animation names are scoped locally by default. The key words here are scoped locally. With this, your CSS class names become similar to local variables in JavaScript. It goes into the compiler, and CSS comes out the other side.
Less
Less is a CSS pre-processor, meaning that it extends the CSS language, adding features that allow variables, mixins, functions and many other techniques that allow you to make CSS that is more maintainable, themable and extendable.
Animate.css
It is a bunch of cool, fun, and cross-browser animations for you to use in your projects. Great for emphasis, home pages, sliders, and general just-add-water-awesomeness.
See all alternatives

PostCSS's Stats

PostCSS's Followers
266 developers follow PostCSS to keep up with related blogs and decisions.
Kevin Michel
coskunbaris
Oleg Savenok
eSvetlova
Wagner Silveira
Bruno Azevedo
Татьяна Цветкова
Dmitry Lobanov
William Cunha
Andrei Fidelman