react.framework.dev

React Libraries

Libraries

77

Flux

Facebook

The original state management architecture for React utilizing a unidirectional data flow. Now deprecated and in maintenance mode.
Flux GitHub RepositoryFlux NPM PackageFlux Bundle Size Stats

Redux

Dan Abramov

A predictable, centralized, debuggable and flexible state container for JS apps inspired by the Flux and Elm architectures. Nowadays you should be using Redux Toolkit instead.
Redux GitHub RepositoryRedux NPM PackageRedux Bundle Size Stats

Redux Toolkit

Mark Erikson

The official, opinionated, batteries-included toolset for efficient Redux development
Redux Toolkit GitHub RepositoryRedux Toolkit NPM PackageRedux Toolkit Bundle Size Stats

RTK Query

Lenz Weber

A powerful data fetching and caching tool. It is designed to simplify common cases for loading data in a web application, eliminating the need to hand-write data fetching & caching logic yourself.
RTK Query GitHub RepositoryRTK Query NPM PackageRTK Query Bundle Size Stats

MobX

Michel Weststrate

A battle tested library that makes state management simple and scalable by transparently applying functional reactive programming. Uses observable data structures instead of actions and reducers.
MobX GitHub RepositoryMobX NPM PackageMobX Bundle Size Stats

Apollo Client

Apollo GraphQL

A fully-featured caching GraphQL client with integrations for React that also has functionality for managing local state.
Apollo Client GitHub RepositoryApollo Client NPM PackageApollo Client Bundle Size Stats

XState

David Khourshid

JavaScript and TypeScript finite state machines and statecharts for the modern web.
XState GitHub RepositoryXState NPM PackageXState Bundle Size Stats

Recoil

Facebook

Recoil lets you create a data-flow graph that flows from atoms (shared state) through selectors (pure functions) and down into your React components. Atoms are units of state that components can subscribe to. Selectors transform this state either synchronously or asynchronously.
Recoil GitHub RepositoryRecoil NPM PackageRecoil Bundle Size Stats

React Query

Tanner Linsley

Writing your data fetching logic by hand is over. Tell React Query where to get your data and how fresh you need it to be and the rest is automatic. React Query handles caching, background updates and stale data out of the box with zero-configuration.
React Query GitHub RepositoryReact Query NPM PackageReact Query Bundle Size Stats

SWR

Vercel

The name “SWR” is derived from stale-while-revalidate, a HTTP cache invalidation strategy popularized by HTTP RFC 5861. SWR is a strategy to first return the data from cache (stale), then send the fetch request (revalidate), and finally come with the up-to-date data.
SWR GitHub RepositorySWR NPM PackageSWR Bundle Size Stats

Use hooks or FACC's (Function as Child Component) to fetch data in an easy way. No dependencies! Just React under the hood. Request and response interceptors allows you to easily customize connection with API (add authorization, refresh token, cache, etc). It uses Fetch API so it can be used in SSR apps (i.e. with isomorphic-fetch).
React Fetching Library GitHub RepositoryReact Fetching Library NPM PackageReact Fetching Library Bundle Size Stats

Axios

Matt Zabriskie

Axios is a simple promise based HTTP client for the browser and node.js. Axios provides a simple to use library in a small package with a very extensible interface.
Axios GitHub RepositoryAxios NPM PackageAxios Bundle Size Stats

Superagent

TJ Holowaychuk

Small progressive client-side HTTP request library, and Node.js module with the same API, supporting many high-level HTTP client features.
Superagent GitHub RepositorySuperagent NPM PackageSuperagent Bundle Size Stats

Ky

Sindre Sorhus

Ky is a tiny and elegant HTTP client based on the browser Fetch API. Ky targets modern browsers and Deno. It's just a tiny file with no dependencies.
Ky GitHub RepositoryKy NPM PackageKy Bundle Size Stats

Popsicle

Blake Embrey

Advanced HTTP requests in node.js and browsers, using Servie, a set of standard, framework-agnostic HTTP interfaces for JavaScript servers and clients
Popsicle GitHub RepositoryPopsicle NPM PackagePopsicle Bundle Size Stats

Stream HTTP

John Hiesey

This module is an implementation of Node's native http module for the browser. It tries to match Node's API and behavior as closely as possible, but some features aren't available, since browsers don't give nearly as much control over requests.
Stream HTTP GitHub RepositoryStream HTTP NPM PackageStream HTTP Bundle Size Stats

Emotion

Emotion Team

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.
Emotion GitHub RepositoryEmotion NPM PackageEmotion Bundle Size Stats

TailwindCSS

Adam Wathan & Jonathan Reinink

A utility-first CSS framework packed with classes like flex, pt-4, text-center and rotate-90 that can be composed to build any design, directly in your markup.
TailwindCSS GitHub RepositoryTailwindCSS NPM PackageTailwindCSS Bundle Size Stats

styled-components

Glen Maddern & Maximilian Stoiber

Utilising tagged template literals (a recent addition to JavaScript) and the power of CSS, styled-components allows you to write actual CSS code to style your components. It also removes the mapping between components and styles – using components as a low-level styling construct could not be easier!
styled-components GitHub Repositorystyled-components NPM Packagestyled-components Bundle Size Stats

CSS Loader

OpenJS Foundation

Allows the use of CSS Modules in projects built using Webpack. Also interprets @import and url() like import/require() and will resolve them.
CSS Loader GitHub RepositoryCSS Loader NPM PackageCSS Loader Bundle Size Stats

PostCSS

Andrey Sitnik

PostCSS takes a CSS file and provides an API to analyze and modify its rules (by transforming them into an Abstract Syntax Tree). This API can then be used by plugins to do a lot of useful things, e.g., to find errors automatically, or to insert vendor prefixes.
PostCSS GitHub RepositoryPostCSS NPM PackagePostCSS Bundle Size Stats

Sass

Google

Sass is a very mature, stable, and powerful professional grade CSS extension language. It provides a superset of CSS with features like nesting, variables, imports and mixins.
Sass GitHub RepositorySass NPM PackageSass Bundle Size Stats

Aphrodite

Khan Academy

Framework-agnostic CSS-in-JS with support for server-side rendering, browser prefixing, and minimum CSS generation.
Aphrodite GitHub RepositoryAphrodite NPM PackageAphrodite Bundle Size Stats

Radium

Formidable Labs

Radium is a set of tools to manage inline styles on React elements. It gives you powerful styling capabilities without CSS.
Radium GitHub RepositoryRadium NPM PackageRadium Bundle Size Stats

Use TypeScript as your preprocessor. Write type‑safe, locally scoped classes, variables and themes, then generate static CSS files at build time.
Vanilla Extract GitHub RepositoryVanilla Extract NPM PackageVanilla Extract Bundle Size Stats

Generate a static set of custom utility classes and compose them either statically at build time, or dynamically at runtime, without the usual style generation overhead of CSS-in-JS. Basically, it’s like building your own zero-runtime, type-safe version of Tailwind, Styled System, etc.
Sprinkles GitHub RepositorySprinkles NPM PackageSprinkles Bundle Size Stats

MUI

Material-UI

MUI is a simple and customizable component library to build faster, beautiful, and more accessible React applications. Follow your own design system, or start with Material Design.
MUI GitHub RepositoryMUI NPM PackageMUI Bundle Size Stats

React Bootstrap

Stephen J. Collings, Matthew Honnibal, Pieter Vanderwerff

The most popular front-end framework rebuilt for React. Each component has been built from scratch as a true React component, without unneeded dependencies like jQuery.
React Bootstrap GitHub RepositoryReact Bootstrap NPM PackageReact Bootstrap Bundle Size Stats

Fluent UI web represents a collection of utilities, React components, and web components for building web applications. It is the web version of Microsoft's cross-platform Fluent UI design framework.
Fluent UI React GitHub RepositoryFluent UI React NPM PackageFluent UI React Bundle Size Stats

Blueprint

Palantir

Blueprint is a React-based UI toolkit for the web. It is optimized for building complex, data-dense web interfaces for desktop applications which run in modern browsers and IE11. This is not a mobile-first UI toolkit.
Blueprint GitHub RepositoryBlueprint NPM PackageBlueprint Bundle Size Stats

Semantic UI React

Semantic Org

Semantic UI React is the official React integration for Semantic UI, a popular UI development framework.
Semantic UI React GitHub RepositorySemantic UI React NPM PackageSemantic UI React Bundle Size Stats

Headless UI

Tailwind Labs

A set of completely unstyled, fully accessible UI components, designed to integrate beautifully with Tailwind CSS.
Headless UI GitHub RepositoryHeadless UI NPM PackageHeadless UI Bundle Size Stats

An enterprise-class UI design language and React UI library.
Ant Design GitHub RepositoryAnt Design NPM PackageAnt Design Bundle Size Stats

Radix Primitives is a low-level UI component library with a focus on accessibility, customization and developer experience. You can use these components either as the base layer of your design system, or adopt them incrementally.
Radix Primitives GitHub RepositoryRadix Primitives NPM PackageRadix Primitives Bundle Size Stats

Formik

Formium

Build forms in React, without the tears. Formik takes care of the repetitive and annoying stuff—keeping track of values/errors/visited fields, orchestrating validation, and handling submission—so you don't have to. This means you spend less time wiring up state and change handlers and more time focusing on your business logic.
Formik GitHub RepositoryFormik NPM PackageFormik Bundle Size Stats

Formsy React

The Formsy Authors

christianalfoni wrote an article on forms and validation with React, Nailing that validation with React JS, the result of that was this library. The main concept is that forms, inputs, and validation are done very differently across developers and projects. This React component aims to be that “sweet spot” between flexibility and reusability.
Formsy React GitHub RepositoryFormsy React NPM PackageFormsy React Bundle Size Stats

React Final Form

Erik Rasmussen

High performance, zero-dependency subscription-based form state management for React
React Final Form GitHub RepositoryReact Final Form NPM PackageReact Final Form Bundle Size Stats

React Hook Form

Beier (Bill) Luo

Performant, flexible and extensible forms with easy-to-use validation. React Hook Form reduces the amount of code you need to write while removing unnecessary re-renders.
React Hook Form GitHub RepositoryReact Hook Form NPM PackageReact Hook Form Bundle Size Stats

KendoReact is a commercial UI library designed and built for developing business applications with React. Every UI component in the KendoReact suite has been built from the ground-up specifically for React. Please keep in mind that in order to use the npm packages you should either sign up for a 30-day free trial, or be a licensed developer, as KendoReact has a commercial license.
KendoReact UI GitHub RepositoryKendoReact UI NPM PackageKendoReact UI Bundle Size Stats

Redux Form

Erik Rasmussen

Manage your form state in Redux. This library is largely deprecated in favor of React Final Form.
Redux Form GitHub RepositoryRedux Form NPM PackageRedux Form Bundle Size Stats

Astro

Fred K. Schott

Astro is a fresh but familiar approach to building websites. Astro combines decades of proven performance best practices with the DX improvements of the component-oriented era. Use your favorite JavaScript framework and automatically ship the bare-minimum amount of JavaScript—by default.
Astro GitHub RepositoryAstro NPM PackageAstro Bundle Size Stats

Redwood

Redwood

Redwood is an opinionated, full-stack, serverless-ready web application framework that will allow you to build and deploy with ease. Imagine a React frontend, statically delivered by CDN, that talks via GraphQL to your backend running on AWS Lambdas (or containers) around the world, all deployable with just a git push—that's Redwood.
Redwood GitHub RepositoryRedwood NPM PackageRedwood Bundle Size Stats

Create React apps with no build configuration. You don't need to learn and configure many build tools. Instant reloads help you focus on development. When it's time to deploy, your bundles are optimized automatically.
Create React App GitHub RepositoryCreate React App NPM PackageCreate React App Bundle Size Stats

Next.js

Vercel

Next.js gives you the best developer experience with all the features you need for production: hybrid static & server rendering, TypeScript support, smart bundling, route pre-fetching, and more. No config needed.
Next.js GitHub RepositoryNext.js NPM PackageNext.js Bundle Size Stats

Gatsby

Gatsbyjs

Gatsby is a free and open source framework based on React that helps developers build blazing fast websites and apps. It combines the control and scalability of dynamically rendered sites with the speed of static-site generation, creating a whole new web of possibilities.
Gatsby GitHub RepositoryGatsby NPM PackageGatsby Bundle Size Stats

Eleventy

Zach Leatherman

A simpler static site generator. An alternative to Jekyll. Written in JavaScript. Transforms a directory of templates (of varying types) into HTML. Works with HTML, Markdown, Liquid, Nunjucks, Handlebars, Mustache, EJS, Haml, Pug, and JavaScript Template Literals.
Eleventy GitHub RepositoryEleventy NPM PackageEleventy Bundle Size Stats

Storybook

Storybook

Storybook is a development environment for UI components. It allows you to browse a component library, view the different states of each component, and interactively develop and test components.
Storybook GitHub RepositoryStorybook NPM PackageStorybook Bundle Size Stats

React Router

Remix Software

React Router is a lightweight, fully-featured routing library for the React JavaScript library. React Router runs everywhere that React runs; on the web, on the server (using node.js), and on React Native.
React Router GitHub RepositoryReact Router NPM PackageReact Router Bundle Size Stats

Reach Router

Ryan Florence

Reach Router is a small, simple router for React that borrows from React Router, Ember, and Preact Router. Reach Router has a small footprint, supports only simple route patterns by design, and has strong (but experimental) accessibility features.
Reach Router GitHub RepositoryReach Router NPM PackageReach Router Bundle Size Stats

Motion is a production-ready motion library for React from Framer. It brings declarative animations, effortless layout transitions and gestures while maintaining HTML and SVG semantics.
Framer Motion GitHub RepositoryFramer Motion NPM PackageFramer Motion Bundle Size Stats

React Spring

Paul Henschel and contributors

react-spring is a spring-physics based animation library that should cover most of your UI related animation needs. It gives you tools flexible enough to confidently cast your ideas into moving interfaces.
React Spring GitHub RepositoryReact Spring NPM PackageReact Spring Bundle Size Stats

React Motion

Multiple contributors

For 95% of use-cases of animating components, we don't have to resort to using hard-coded easing curves and duration. Set up a stiffness and damping for your UI element, and let the magic of physics take care of the rest. This way, you don't have to worry about petty situations such as interrupted animation behavior. It also greatly simplifies the API.
React Motion GitHub RepositoryReact Motion NPM PackageReact Motion Bundle Size Stats

React Toastify

Fadi Khadra

React-Toastify allows you to add notifications to your app with ease.
React Toastify GitHub RepositoryReact Toastify NPM PackageReact Toastify Bundle Size Stats

FormatJS is a modular collection of JavaScript libraries for internationalization that are focused on formatting numbers, dates, and strings for displaying to people. It includes a set of core libraries that build on the JavaScript Intl built-ins and industry-wide i18n standards, plus a set of integrations for common template and component libraries.
React Intl GitHub RepositoryReact Intl NPM PackageReact Intl Bundle Size Stats

Next Intl

Jan Amann

This library complements the internationalized routing capabilities of Next.js by managing translations and providing them to components.
Next Intl GitHub RepositoryNext Intl NPM PackageNext Intl Bundle Size Stats

react-i18next is a powerful internationalization framework for React / React Native which is based on i18next. The module provides multiple components eg. to assert that needed translations get loaded or that your content gets rendered when the language changes.
React i18next GitHub RepositoryReact i18next NPM PackageReact i18next Bundle Size Stats

LinguiJS

Tomáš Ehrlich

A readable, automated, and optimized (5 kb) internationalization for JavaScript
LinguiJS GitHub RepositoryLinguiJS NPM PackageLinguiJS Bundle Size Stats

Rosetta

Luke Edwards

A general purpose internationalization library in 298 bytes
Rosetta GitHub RepositoryRosetta NPM PackageRosetta Bundle Size Stats

A React library for Three.js to render 3D scenes in React.
React Three Fiber GitHub RepositoryReact Three Fiber NPM PackageReact Three Fiber Bundle Size Stats

Drei

Poimandres

A growing collection of useful helpers and abstractions for react-three-fiber
Drei GitHub RepositoryDrei NPM PackageDrei Bundle Size Stats

Zustand

Poimandres

A small, fast and scalable bearbones state-management solution using simplified flux principles.
Zustand GitHub RepositoryZustand NPM PackageZustand Bundle Size Stats

Jotai

Poimandres

Primitive and flexible state management for React
Jotai GitHub RepositoryJotai NPM PackageJotai Bundle Size Stats

Valtio

Poimandres

Lightweight Proxy-Based State Management for ReactJS and VanillaJS
Valtio GitHub RepositoryValtio NPM PackageValtio Bundle Size Stats

A11y

Poimandres

@react-three/a11y brings accessibility to webGL with easy-to-use react-three-fiber components
A11y GitHub RepositoryA11y NPM PackageA11y Bundle Size Stats

Cannon

Poimandres

A library to add physics to react-three-fiber components. It provides a simple API to create and update physics bodies.
Cannon GitHub RepositoryCannon NPM PackageCannon Bundle Size Stats

Use Gesture

Poimandres

@use-gesture is a set of gestures that let you bind mouse and touch events to any node.
Use Gesture GitHub RepositoryUse Gesture NPM PackageUse Gesture Bundle Size Stats

React XR

Poimandres

React components and hooks for creating VR/AR applications with react-three-fiber
React XR GitHub RepositoryReact XR NPM PackageReact XR Bundle Size Stats

react-postprocessing is a postprocessing wrapper for @react-three/fiber
React Postprocessing GitHub RepositoryReact Postprocessing NPM PackageReact Postprocessing Bundle Size Stats

React Three GUI

Birkir Gudjonsson

A graphical user interface for changing variable states in React.
React Three GUI GitHub RepositoryReact Three GUI NPM PackageReact Three GUI Bundle Size Stats

Blitz

Brandon Bayer

Blitz is a batteries-included framework that's inspired by Ruby on Rails, is built on Next.js, and features a "Zero-API" data layer abstraction that eliminates the need for REST/GraphQL.
Blitz GitHub RepositoryBlitz NPM PackageBlitz Bundle Size Stats

Remix

Remix

Remix is a full stack web framework (from the creators of React Router) that lets you focus on the user interface and work back through web fundamentals to deliver a fast, slick, and resilient user experience.
Remix GitHub RepositoryRemix NPM PackageRemix Bundle Size Stats

Bumbag

Jake Moxey

Build themeable React & React Native applications with your Bumbag
Bumbag GitHub RepositoryBumbag NPM PackageBumbag Bundle Size Stats

Chakra UI

Segun Adebayo

⚡️ Simple, Modular & Accessible UI Components for your React Applications
Chakra UI GitHub RepositoryChakra UI NPM PackageChakra UI Bundle Size Stats

The Accessible Foundation for React Apps and Design Systems
Reach UI GitHub RepositoryReach UI NPM PackageReach UI Bundle Size Stats

A set of HashiCorp branded react components currently maintained and used by the marketing dev team
HashiCorp React Component GitHub RepositoryHashiCorp React Component NPM PackageHashiCorp React Component Bundle Size Stats

React Spectrum

Adobe, Inc.

A collection of libraries and tools that help you build adaptive, accessible, and robust user experiences.
React Spectrum GitHub RepositoryReact Spectrum NPM PackageReact Spectrum Bundle Size Stats

Windmill React UI

Estevan Maito

🧩 The component library for fast and accessible development of gorgeous interfaces.
Windmill React UI GitHub RepositoryWindmill React UI NPM PackageWindmill React UI Bundle Size Stats