4 reasons to use Chakra UI in your next project
Mateusz Wójcik
Jan 19, 2021・4 min read
Table of Content
What is Chakra UI?
The advantages of Chakra UI
Easily customizable
Dark mode support
Easy RWD
Accessible
Conclusion
What is Chakra UI?
ChakraUI’s homepage states that it's a simple, modular, and accessible component library to let you build React apps with speed. After delivering a few projects where we used Chakra, I can agree with this description. Building UIs never was so fast and convenient.
You may already be familiar with libraries such as MaterialUI, Ant Design, or React Bootstrap. And you may be wondering why you need another UI library when you already have a big, battle-tested group of options to choose from. Well, Chakra stands out mainly because of its great built-ins, accessibility, and high customization.
The advantages of Chakra UI
Easily customizable
One of the most significant advantages of ChakraUI is that you can easily adjust it to your design needs. Usually, you start with your custom theme to specify things like colors, font sizes, breakpoints for responsive design, shadows, and many more! That alone gives you a lot of flexibility when creating advanced UIs, but that's not all.
Each component you use accepts a lot of different props which you can use to style it.
For example, let's take a look at a simple usage of the `<Button>` component in Chakra UI:
```jsx <Button colorScheme="teal" variant="outline" size="lg" isLoading={loading} loadingText="Loading"> Click me </Button>Using this bit of code, Chakra will render a button with styles provided in the theme.
But now, let's use a few props to change its style:
```jsx <Button colorScheme="red" variant="solid" size="md" isLoading={false}> Click me </Button>In this piece of code, we change the button’s color scheme to use a red color palette, and modify its variant to have a solid background. We also resize the button to medium and set isLoading to false.
Let's see. First, we change the button’s color scheme so that it will use a teal color palette. Next, we change its variant, so instead of the whole background, we only have a border. Then we make the entire button bigger. Besides styles, we can change the behavior of the button. When “isLoading” value is true, we hide the icon and display a loader that takes a few props. Both the icon and the loader are part of ChakraUI too!
If you ever used TailwindCSS, which is gaining popularity lately or Styled System, you may see some similarities. Tailwind is a set of CSS classes that you can use to compose components. On the other hand, Styled System and Chakra give you the whole component, but you can change particular styles using props. All of these solutions have a lot of fans and opponents. The latter mentions a big disadvantage: the code may lose readability due to many classes/props. Of course, it may be an issue, so it's essential to keep our components concise.
Dark mode support
The dark mode is becoming an integral part of our tech lives. We can use it on our smartphones, laptops, and of course websites. Although not every project would require you to implement dark mode, it's great that Chakra can simplify the process. By default, most of Chakra's components are dark mode compatible. You just need a little bit of config, and you are good to go! There is also the possibility of using system color mode, so if a user sets dark mode as default for their device, your website will automatically pick it up.
Easy RWD
ChakraUI supports responsive styles out of the box. You don't have to add media queries manually, ChakraUI provides object and array values to add responsive styles. It's worth noting that it uses “@media(min-width)” to ensure a mobile-first approach.
You can define your own breakpoints in theme config, or you can use default ones.
Let's take a look at how the implementation of responsiveness looks in a basic `<Text>` component:
```jsx <Text fontSize={["24px", null, "56px"]} textAlign={["center", null, "left"]}> Responsive Text </Text>Using the above snippet “<Text>” will have “24px” and be centered on all of the breakpoints.
Instead of a single value, we pass an array of values. Chakra will take “24px” from the “fontSize” prop and “center” from “textAlign” and use it for screen sizes between 0 and 30em (these are the default values in the theme config). Then notice “null” passed in: we don't want to change styles in the range from 30em to 48em (again, default breakpoints) so we pass null to avoid generating unnecessary CSS. In the last indexes of the arrays, we assign “56px” and “left” so our text will have this style for every screen size bigger than 48em.
Personally, I'm not a massive fan of this array notation. It makes it harder to find out which styles are applied to each breakpoint.
Fortunately, we can use the object syntax:
```jsx <Text fontSize={{ base: "24px", md: "56px" }} textAlign={{ base: "center", md: "left" }} > Responsive Text </Text>The syntax looks different, but the behavior stays the same.
Accessible
We can not stress enough the importance of accessibility. A considerable percentage of people experiences some kind of disability, so it's crucial to create accessible UIs. We usually have to implement a few WCAG guidelines, but luckily things like proper outlines and keyboard navigation are covered by Chakra. Of course, that's not all, and we still need to remember things like hierarchical heading structure or alts for images.
BONUS: Lately, ChakraUI added support for RTL languages. From now on, it's much easier to create components that should cover both RTL and LTR languages.
Conclusion
As you can see, ChakraUI proves to be modular and accessible. On top of that, it's also really small (375kB minified, 101kB minified, and gzipped, although you should remember that besides the core Chakra library you have to install Emotion). From my experience, it's one of the best component libraries for React!
If you’d like to know more about component libraries, or which one is best for your project, we’ll be happy to hear from you. Write to us at hello@start-up.house
Digital Transformation Strategy for Siemens Finance
Cloud-based platform for Siemens Financial Services in Poland


You may also like...

How we implemented SWR in a project and why we loved it
SWR, a React Hooks library for remote data fetching, provides a simple yet powerful solution for caching, revalidating, and retrieving data in React applications. Learn how SWR eliminates the complexities of managing state slices, speeds up development, and enhances UI performance. Explore examples of SWR implementation and discover its integrations.
Kamil Polok
Jun 09, 2021・6 min read

How to generate PDF from HTML in React / Node.js app
Generating PDFs from HTML can be a challenge, but with the right methods, you can achieve the desired results. Explore different solutions, from using CSS print rules to libraries like html2canvas, jsPDF, and Puppeteer. Understand the pros and cons of each approach to find the best solution for your project. Contact us at hello@start-up.house for more information and assistance. Good luck in your PDF generation endeavors!
Eugene Zolotarenko
May 20, 2021・6 min read
Recently added

Cloud Infrastructure Management
What it takes to run cloud infrastructure that's scalable, secure, and cost-efficient — the core pillars, FinOps, AI-driven ops, and how to pick a partner.
Alexander Stasiak
Jun 12, 2026・8 min read

Cloud Security Compliance
A step-by-step path to SOC2, ISO 27001, GDPR, and HIPAA in the cloud — including the move to compliance-as-code for scaling safely.
Alexander Stasiak
Jun 09, 2026・10 min read

Data Analytics in Solar Energy
Global solar PV capacity passed 1,500 GW in 2025, and with hardware costs at historic lows, the next competitive edge isn't installing more panels — it's squeezing more value out of the ones already in the field. Modern solar plants generate millions of data points daily from SCADA, IoT sensors, weather APIs, and market feeds, but only operators with the right analytics layer convert that data into yield gains, lower O&M costs, and smarter market participation. This guide breaks down how data analytics is reshaping every stage of the solar lifecycle in 2026 — from site selection and design to predictive maintenance, grid integration, and financial modeling — with concrete benchmarks, KPIs, and implementation timelines.
Alexander Stasiak
May 03, 2026・8 min read
Value-Added Services (VAS) Examples
By 2026, most core services — data plans, current accounts, cloud hosting — have become fully commoditized, and the companies winning customer loyalty aren't the ones cutting prices. They're the ones layering smart value-added services (VAS) on top: carbon footprint trackers in banking apps, smart-home bundles from ISPs, AI copilots inside SaaS platforms, and Amazon Prime-style subscriptions that turn one-time buyers into long-term subscribers. This guide breaks down concrete VAS examples across telecom, banking, retail, and SaaS, explains why operators offering VAS see up to 30% ARPU uplift, and gives you a practical 5-step framework to identify which value-added services will actually move the needle for your product.
Alexander Stasiak
May 01, 2026・11 min read

AI Agents Use Cases 2026
AI agents are no longer a research demo — they're now reading customer history in real CRMs, monitoring thousands of transactions per second for fraud, drafting pull requests against production codebases, and rebalancing logistics fleets without human input. The shift from reactive chatbots to autonomous, tool-using, multi-step agents is why 2024–2026 marks the inflection point for enterprise adoption. This guide breaks down concrete AI agent use cases across customer service, sales and marketing, software engineering, finance, logistics, healthcare, HR, and retail — plus the architecture decisions, governance practices, and implementation tips that separate production-ready agents from clever prototypes.
Alexander Stasiak
Apr 29, 2026・11 min read

Tech Lead Roles and Responsibilities
The tech lead has become one of the most indispensable — and most misunderstood — roles in modern software teams. Often confused with engineering managers, tech leads are senior individual contributors who own technical direction, delivery quality, and team enablement, all while staying hands-on with code. This guide breaks down what the role actually entails in 2026: core responsibilities, essential skills, a realistic day-in-the-life, how the role differs across startups, enterprises, and agencies, and a practical roadmap for engineers ready to grow into it.
Alexander Stasiak
Apr 28, 2026・12 min read
Ready to centralize your know-how with AI?
Start a new chapter in knowledge management—where the AI Assistant becomes the central pillar of your digital support experience.
Book a free consultationWork with a team trusted by top-tier companies.




