Software Alternatives & Reviews

BEM VS styled-components

Compare BEM VS styled-components and see what are their differences

BEM logo BEM

BEM — Block Element Modifier is a methodology, that helps you to achieve reusable components and code sharing in the front-end.

styled-components logo styled-components

styled-components is a visual primitive for the component age that also helps the user to use the ES6 and CSS to style apps.
  • BEM Landing page
    Landing page //
    2022-11-21
  • styled-components Landing page
    Landing page //
    2023-07-27

BEM videos

BEM REVIEW! is Bem worth watching?

More videos:

  • Review - BEM - First Impressions
  • Review - Bem Episode 1 Discussion/ Review BEM HAS THE MUSIC!!!!!

styled-components videos

No styled-components videos yet. You could help us improve this page by suggesting one.

+ Add video

Category Popularity

0-100% (relative to BEM and styled-components)
Developer Tools
24 24%
76% 76
Design Tools
26 26%
74% 74
CSS Framework
32 32%
68% 68
Javascript UI Libraries
0 0%
100% 100

User comments

Share your experience with using BEM and styled-components. For example, how are they different and which one is better?
Log in or Post with

Social recommendations and mentions

Based on our record, styled-components should be more popular than BEM. It has been mentiond 154 times since March 2021. We are tracking product recommendations and mentions on various public social media platforms and blogs. They can help you identify which product is more popular and what people think of it.

BEM mentions (43)

  • Earth rescue - A CSS only game
    After I had created space, the code was as spaghetti as it can get. I decided to switch to SCSS and finally read into the BEM Pattern for CSS and after wasting another 4 hours, I decided that I could not decide wether the HUD is an element of the game and the button is an element of the HUD and the text is an element of the button and someone else also thought about this and called it the BEM grandchildren... - Source: dev.to / about 18 hours ago
  • Upgrading and Refactoring a Slightly Outdated Web Project
    There are some conceptual requirements to clean code that I always found hard to achieve in a traditional web project, but that's one more reason to use tools like static site generators and follow design patterns like Atomic Design, (A)BEM CSS, and a modular file structure. - Source: dev.to / about 1 year ago
  • 21 Resources to Learn And Practice Your CSS Skills
    BEM is a methodology for organizing and naming CSS classes in a scalable and maintainable way. Learning the principles of BEM can improve the structure of your stylesheets drastically. - Source: dev.to / 4 months ago
  • StyleX – Meta's Styling Library
    It always surprises me the lengths people are willing to go to avoid writing CSS. If organization is the issue, there's BEM (https://getbem.com/). This just looks like another layer of complexity on top of an already convoluted front-end stack that just slows everything it touches to a crawl and only works moderately well on the developers beefed up latest MacBook Pro's, and sucks horribly on any regular person's... - Source: Hacker News / 5 months ago
  • Incomplete List of Mistakes in the Design of CSS
    I am a reluctant convert to tailwind. I've been doing HTML since the 90s, before CSS was even really usable for things like page layout. I mean, we didn't even use div in those days - it was table based layouts and spacer gifs. CSS appeals to a programmers mindset. Cascading seems like a good idea. Having classes that are reusable seems like a good idea. Complex selectors seem like a good idea. These are all forms... - Source: Hacker News / 5 months ago
View more

styled-components mentions (154)

  • Approaches to Styling React Components, Best Use Cases
    CSS-in-JS is a styling technique wherein CSS is composed using JavaScript instead of defined in external files. This method allows CSS to be scoped locally to components rather than globally, reducing the probability of style conflicts. Utilizing JavaScript also enables dynamic styling easily aligned with the component's state or props. Libraries like Styled Components and Emotion are popular choices in the React... - Source: dev.to / 16 days ago
  • The 20 most used React libraries
    Styled-components: Allows for maintainable styling with CSS-in-JS. Learn more. - Source: dev.to / 4 months ago
  • Styling React 2023 edition
    Over the past few years, I've worked with React apps utilising various CSS-in-JS libraries, starting with styled-components, transitioning through emotion, Theme UI, and finally Stitches. I've also integrated MUI, Mantine, and Chakra in numerous client projects. - Source: dev.to / 6 months ago
  • The Ultimate Tech Stack for Building a Full-Stack MVP and Iterating Quickly
    There are several alternatives to MUI. shadcn/ui is a modern alternative that is very popular. Ant Design is also a great alternative. Charkra UI can also be used as a UI Framework. Some people suggest just using styled components. Some use Tailwind CSS. Yet, for both styled components and Tailwind CSS, one still writes a lot of CSS. This might not provide the best developer experience compared to using a UI... - Source: dev.to / 7 months ago
  • Building an entire fullstack project with Firebase 10 and React (Vite)
    The project is build using several ready made components available within, Mantine. It’s a fully featured React components library. However some places still use some custom CSS-in-JS so we used some good ol’ styled components. - Source: dev.to / 7 months ago
View more

What are some alternatives?

When comparing BEM and styled-components, you can also consider the following products

Sass - Syntatically Awesome Style Sheets

Tailwind CSS - A utility-first CSS framework for rapidly building custom user interfaces.

Next.js - A small framework for server-rendered universal JavaScript apps

stylelint - stylelint is a modern CSS linter

PostCSS - Increase code readability. Add vendor prefixes to CSS rules using values from Can I Use. Autoprefixer will use the data based on current browser popularity and property support to apply prefixes for you.

React Router - React Router is a routing for React.js, that synchronizes the components of application with the URL & supports server side rendering.