Get Advice Icon

Need advice about which tool to choose?Ask the StackShare community!

Emotion
Emotion

62
55
+ 1
0
Glamorous
Glamorous

6
12
+ 1
0
Add tool

Emotion vs Glamorous: What are the differences?

What is Emotion? The Next Generation of CSS in JS. Emotion is a performant and flexible CSS-in-JS library. Building on many other CSS-in-JS libraries, it allows you to style apps quickly with string or object styles. It has predictable composition to avoid specificity issues with CSS. With source maps and labels, Emotion has a great developer experience and great performance with heavy caching in production.

What is Glamorous? Maintainable CSS with React. Glamorous is React component styling solved with an elegant (inspired) API, small footprint (<5kb gzipped), and great performance (via glamor). It has a very similar API to styled-components and uses similar tools under the hood (glamor).

Emotion and Glamorous can be primarily classified as "JavaScript Framework Components" tools.

Emotion and Glamorous are both open source tools. Emotion with 8.39K GitHub stars and 524 forks on GitHub appears to be more popular than Glamorous with 3.74K GitHub stars and 282 GitHub forks.

What is Emotion?

Emotion is a performant and flexible CSS-in-JS library. Building on many other CSS-in-JS libraries, it allows you to style apps quickly with string or object styles. It has predictable composition to avoid specificity issues with CSS. With source maps and labels, Emotion has a great developer experience and great performance with heavy caching in production.

What is Glamorous?

Glamorous is React component styling solved with an elegant (inspired) API, small footprint (<5kb gzipped), and great performance (via glamor). It has a very similar API to styled-components and uses similar tools under the hood (glamor).
Get Advice Icon

Need advice about which tool to choose?Ask the StackShare community!

Why do developers choose Emotion?
Why do developers choose Glamorous?
    Be the first to leave a pro
      Be the first to leave a pro
        Be the first to leave a con
          Be the first to leave a con
          What companies use Emotion?
          What companies use Glamorous?

          Sign up to get full access to all the companiesMake informed product decisions

          What tools integrate with Emotion?
          What tools integrate with Glamorous?

          Sign up to get full access to all the tool integrationsMake informed product decisions

          What are some alternatives to Emotion and Glamorous?
          React Router
          React Router is a complete routing solution designed specifically for React.js. It painlessly synchronizes the components of your application with the URL, with first-class support for nesting, transitions, and server side rendering.
          styled-components
          Visual primitives for the component age. Use the best bits of ES6 and CSS to style your apps without stress 馃拝
          Ant Design
          An enterprise-class UI design language and React-based implementation. Graceful UI components out of the box, base on React Component. A npm + webpack + babel + dora + dva development framework.
          Angular CLI
          A command-line interface tool that you use to initialize, develop, scaffold, and maintain Angular applications. You can use the tool directly in a command shell, or indirectly through an interactive UI such as Angular Console.
          AngularUI
          UI-Modules Standalone AngularUI modules.
          See all alternatives
          Decisions about Emotion and Glamorous
          Russel Werner
          Russel Werner
          Lead Engineer at StackShare | 11 upvotes 101.5K views
          atStackShareStackShare
          Emotion
          Emotion
          JavaScript
          JavaScript
          Glamorous
          Glamorous
          React
          React
          HAML
          HAML
          Sass
          Sass
          #Inlinecss

          When we rebooted our front-end stack earlier this year, we wanted to have a consolidated and friendly developer experience. Up to that point we were using Sass and BEM. There was a mix of HAML views, React components and Angular. Since our ongoing development was going to be exclusively in React, we wanted to shift to an inline styling library so the "wall of classnames" could be eliminated. The ever-shifting landscape of inline CSS libraries for React is sometimes difficult to navigate.

          We decided to go with Glamorous for a few reasons:

          1) Previous team experience with this library 2) We can write our styles in plain JavaScript (which brings many benefits) 3) It supports server-side rendering 4) It has great composition patterns

          As you may or may not know, Glamorous has ceased active development and been mostly superseded by Emotion. We are planning to migrate to either Emotion or @styled-components in the near future, and I'll write another Stack Decision when we get there!

          #inlinecss

          See more
          Johnny Bell
          Johnny Bell
          Senior Software Engineer at StackShare | 13 upvotes 229.7K views
          atStackShareStackShare
          styled-components
          styled-components
          Emotion
          Emotion
          Glamorous
          Glamorous
          Showdown
          Showdown
          Ruby
          Ruby
          GraphQL
          GraphQL
          React
          React
          Markdown
          Markdown
          #StackDecisionsLaunch
          #CssInJs
          #Frontend

          For Stack Decisions I needed to add Markdown in the decision composer to give our users access to some general styling when writing their decisions. We used React & GraphQL on the #Frontend and Ruby & GraphQL on the backend.

          Instead of using Showdown or another tool, We decided to parse the Markdown on the backend so we had more control over what we wanted to render in Markdown because we didn't want to enable all Markdown options, we also wanted to limit any malicious code or images to be embedded into the decisions and Markdown was a fairly large to import into our component so it was going to add a lot of kilobytes that we didn't need.

          We also needed to style how the markdown looked, we are currently using Glamorous so I used that but we are planning to update this to Emotion at some stage as it has a fairly easy upgrade path rather than switching over to styled-components or one of the other cssInJs alternatives.

          Also we used React-Mentions for tagging tools and topics in the decisions. Typing @ will let you tag a tool, and typing # will allow you to tag a topic.

          The Markdown options that we chose to support are tags: a, code, u, b, em, pre, ul, ol, li.

          If there are anymore tags you'd love to see added in the composer leave me a comment below and we will look into adding them.

          #StackDecisionsLaunch

          See more
          Robert Zuber
          Robert Zuber
          CTO at CircleCI | 15 upvotes 270.3K views
          atCircleCICircleCI
          Cypress
          Cypress
          Percy
          Percy
          Jest
          Jest
          Apollo
          Apollo
          GraphQL
          GraphQL
          Emotion
          Emotion
          TypeScript
          TypeScript
          Storybook
          Storybook
          React
          React
          Next.js
          Next.js

          We are in the process of adopting Next.js as our React framework and using Storybook to help build our React components in isolation. This new part of our frontend is written in TypeScript, and we use Emotion for CSS/styling. For delivering data, we use GraphQL and Apollo. Jest, Percy, and Cypress are used for testing.

          See more
          Interest over time
          Reviews of Emotion and Glamorous
          No reviews found
          How developers use Emotion and Glamorous
          No items found
          How much does Emotion cost?
          How much does Glamorous cost?
          Pricing unavailable
          Pricing unavailable
          News about Glamorous
          More news