🚀 Absolutely Awesome React Components & Libraries
This is a list of AWESOME components. Nope, it’s NOT a comprehensive list of every React component under the sun. So, what does “awesome” mean? Well:
- It solves a real problem
- It does so in a 🦄 unique, 🦋 beautiful, or 🏆 exceptional way. (And it’s not super popular and well-known… no point in listing those.)
- It has recent code commits!
Look for a 🚀 for truly amazing projects. And look for quickie maintainer commentary and reviews in (italic parens) after some listings of note.
Maintainers:
Contributing
Please review our contributing guidelines. We keep this list fresh by requiring all PRs to remove one or more non-awesome entries from this list. Please ONLY PR a new resource if you are ALSO removing one.
Table of Contents
UI Components
Editable data grid / spreadsheet
- ag-grid - Advanced Data Grid / Data Table supporting Javascript / React / AngularJS / Web Components.
- gigatables-react - Sorting, pagination/infinite scroll, global/column search, AJAX CRUD, and more.
- react-data-grid - Excel-like grid.
- revo-grid - demo/docs - Powerfull Data Grid for React / AngularJS / Vue / Web Components with advanced customization.
- ReactGrid - demo/docs - Add spreadsheet-like behavior to your app
- jqwidgets-react-grid - Filtering, Pagination, Grouping, Export to Excel, PDF, CRUD and more.
Table
- autoresponsive-react - Auto Responsive Layout Library For React.
- ka-table - demo - Customizable table component with sorting, filtering, grouping, virtualization, editing etc. 🆕
- material-table - demo/docs - Built on Material UI, plus: grouping, tree data, expandable rows, export, inline editing
- mui-datatables - Built on Material-UI. Search, styling, filtering, resize/hide columns, export, print, select/expand rows.
- react-data-table - demo/docs - accessible, responsive, themable, declaratively configurable table with sorting, selectable rows, expandable rows, pagination
- react-table - demo - Hooks for building fast and extendable tables and datagrids
- rsuite-table - demo/docs - A table component that supports virtualized.
- sematable - Client side sorting, pagination, and text filter for redux/react based apps.
- DevExtreme React Grid - High-performance plugin-based data grid for Bootstrap and Material Design.
- Smart React Grid - Fast and feature-complete data grid with Material Design.
- KendoReact Grid - Powerful data grid component with 100+ ready-to-use features like paging, sorting, export to Excel, and more.
Infinite Scroll
Overlay
Display overlay / modal / alert / dialog / lightbox / popup
- reboron - A collection of dialog animations with React.js
- react-aria-modal - A fully accessible and flexible React modal built according WAI-ARIA Authoring Practices.
- react-modal - Accessible modal dialog component for React.
- react-skylight - A react component for modals and dialogs.
- reoverlay - demo - The missing solution for managing modals.
- sweetalert2 - demo/docs - A beautiful, responsive, highly customizable and accessible (WAI-ARIA) replacement for JavaScript’s popup boxes. Zero dependencies.
- sweetalert2-react-content - Official SweetAlert2 enhancer adding support for React elements as content
Notification
Toaster / snackbar — Notify the user with a modeless temporary little popup
Tooltip
Menu
Menus / sidebars
Sticky
Fixed headers / scroll-up headers / sticky elements
Tabs
Loader
Loaders / spinners / progress bars — Let the user know that something is loading
Carousel
Buttons
Collapse
Chart
Display data in charts / graphs / diagrams
Tree
Display a tree data structure
- react-treebeard - React Tree View Component. Data-Driven, Fast, Efficient and Customisable.
- react-treeview - Easy, light, flexible tree view made with React.
UI Navigation
Ways to navigate views
Custom Scrollbar
Audio / Video
Map
Time / Date / Age
Display time / date / age
Photo / Image
Display images / photos
Icons
Display icons / icon set / emojis
- iconify-react - Over 40k icons from 50+ icon sets, including all popular icon and emoji sets.
- react-icons - Svg react icons of popular icon packs using ES6 imports.
- react-open-doodles - Awesome free illustrations as react components.
Paginator
Display a control element to paginate
Markdown Viewer
Display parsed markdow source
Canvas
Sketch input using Canvas or SVG
- react-konva - React Konva is a JavaScript library for drawing complex canvas graphics with bindings to the Konva Framework.
- react-sketch - A Sketch tool for React based applications, backed-up by FabricJS
- react-sketch-canvas - Demo Freehand vector drawing tool for React using SVG as canvas. Accepts input from Mouse, touch, and graphic tablets
Miscellaneous
- react-advanced-news-ticker - demo - A flexible and animated vertical news ticker component
- react-avatar-generator - Allows users to create random kaleidoscopes to be used as avatars.
- react-awesome-query-builder - demo - Visual query builder from form fields, with SQL, MongoDB and JSON export
- react-blur - React component for blurred backgrounds.
- react-demo-tab - demo - A React component to easily create demos of other components.
- react-facebook - Facebook components like a Login button, Like, Share, Comments, Page or Embedded Post.
- fastcomments-react - demo - FastComments component for embedding a live comment thread on a page or SPA.
- react-pdf-viewer - docs - A React component to view a PDF document.
- react-simple-chatbot - demo - A simple chatbot component to create conversation chats.
- react-file-reader-input - File input component for control for file reading styling and abstraction.
- react-filter-control - The React filterbuilder component for building the filter criteria in the UI.
- react-headings - Auto-increment your HTML headings (h1, h2, etc.) for improved accessibility and SEO, no matter your component structure, while you keep full control of what’s rendered.
- react-joyride - Create walkthroughs and guided tours for your ReactJS apps. Now with standalone tooltips!.
- react-json-tree - React JSON Viewer Component, Extracted from redux-devtools.
- react-resizable-and-movable - Resizable and movable component for React.
- react-resizable-box - Resizable component for React. #reactjs.
- react-searchbox-awesome - demo - Minimalistic searchbox.
- react-split-pane - React split-pane component.
- react-swipe-to-delete-ios - demo - To delete an item in a list the same way iOS does.
- react-swipeable-list - demo - Configurable component to render list with swipeable items.
- typography - A powerful toolkit for building websites with beautiful typography.
- react-pulse-text - demo/docs - Allows you to animate the text of any property of another component.
- captcha-image - Allows you to generate a random captcha image with options.
- react-pdf - Display PDFs in your React app as easily as if they were images.
- react-customizable-chat-bot - Demo - Build your own chatbot matching your brand needs in minutes.
- @restpace/schema-form - Demo - Easily build complex forms automatically from a JSON Schema.
- react-darkreader - 🌓 A React Hook for adding a dark / night mode to your site inspired by darkreader.
- react-apple-signin-auth - Apple signin for React using the official Apple JS SDK.
Form Components
Let the user enter data
Date / Time picker
Date picker / time picker / datetime picker / date range picker
Emoji picker
Input Types
Masked inputs, specialized inputs; email / telephone number / credit card / etc.
Autocomplete
Autosuggest / autocomplete / typeahead
Select
Color Picker
- coloreact - A tiny Color Picker for React.
- react-color - Color Pickers from Sketch, Photoshop, Chrome & more.
- react-colorful - A tiny (2,5 KB), dependency-free, fast and accessible color picker component.
- react-input-color - React input color component with hsv color picker.
Toggle
Slider
Radio Button
Type Select
Let the user select something (e.g. a tag) while typing
Tag Input
Let the user add multiple tags in a single input
Autosize Input / Textarea
#react #javascript #web-development #developer #programming