whichui icon
github logo
theme icon

Which UI Framework Should You Use For React?

Selecting the right UI framework can be a daunting task. This comparison chart will help you make an informed decision.

NextUINextUI

Loading GitHub stats...

RadixUIRadixUI

Loading GitHub stats...

ShadcnUIShadcnUI

Loading GitHub stats...

MantineMantine

Loading GitHub stats...

MaterialUIMaterialUI

Loading GitHub stats...

ChakraUIChakraUI

Loading GitHub stats...

AntDesignAntDesign

Loading GitHub stats...

Component Support Comparison

ComponentNextUINextUI (39/79)RadixUIRadixUI (36/79)ShadcnUIShadcnUI (51/79)MantineMantine (53/79)MaterialUIMaterialUI (68/79)ChakraUIChakraUI (64/79)AntDesignAntDesign (74/79)
Accordion
A vertically stacked list of headers that reveal or hide more content when clicked.
Alert
AlertDialog
A modal dialog that alerts the user of a situation.
AspectRatio
A component that maintains a fixed aspect ratio.
Autocomplete
A text input field that provides suggestions while you type.
Avatar
A component for displaying user profile pictures.
Badge
A small count and labeling component that adds context to content.
Breadcrumbs
A navigation aid that shows the user's location in a site or application.
Button
An interactive element that triggers an action when clicked.
Card
A flexible container for displaying content and actions on a single topic.
Carousel
Checkbox
An input control that allows a user to select one or more options from a set.
CheckboxCards
A group of cards that can be selected or deselected.
CheckboxGroup
A group of checkboxes that can be used to allow multiple selections.
Chip
A compact element that represents an input, attribute, or action.
CircularProgress
A circular graphical representation of progress in a task.
Code
A component for displaying blocks of code with syntax highlighting.
Collapse
ContextMenu
A context menu that appears when a user right-clicks on an element.
DataList
A list of data items that can be filtered and searched.
Descriptions
Dialog
A modal dialog that requires user interaction.
Divider
A thin line that groups content in lists and layouts.
Drawer
Dropdown
A list of options that drops down from a control that users can select from.
Empty
HoverCard
A card that appears when a user hovers over an element.
IconButton
A button that displays an icon.
Image
A component for displaying images.
Input
A field used to get user input in a form.
InputNumber
Inset
A component that creates a visual inset.
Kbd
A component that displays keyboard inputs.
Link
A navigational element that allows users to click through to another page or site.
List
Listbox
A graphical control element that allows the user to select one or more items from a list.
Mentions
Message
Modal
A dialog box/popup window that is displayed on top of the current page.
Navbar
A navigation header that is placed at the top of the page.
Notification
Pagination
A component that allows the user to select a specific page from a range.
Popover
A small, contextual overlay that opens on demand.
Popconfirm
Progress
A component to display the progress status for a task that takes a long time or consists of several steps.
QRCode
Radio
A radio button that allows the user to select one option.
RadioCards
RadioGroup
A group of radio buttons that allows the user to select one option from a set.
Rate
Result
ScrollArea
A scrollable area that contains content.
ScrollShadow
A visual effect that indicates more content is available in a scrollable area.
SegmentedControl
A control that allows the user to select one option from a set.
Select
A control that allows the user to choose one option from a dropdown list.
Separator
A visual element that separates content.
Skeleton
A placeholder component used to improve content loading experience.
Slider
A component that allows the user to select a value from a range.
Snippet
A small piece of reusable code or text.
Spacer
An invisible component used to create space between elements in layouts.
Spinner
A component that shows a loading indicator.
Spin
Switch
A component that allows the user to toggle between two states.
Table
A component for displaying data in a tabular format.
Tabs
A component that organizes content into separate views.
TabNav
Tag
Textarea
A multi-line text input field.
TextField
Timeline
TimePicker
Tooltip
A small pop-up box that appears when a user hovers over an element.
Tour
Transfer
Tree
TreeSelect
Upload
User
A component that displays user information.
Watermark

AntDesign

AntDesign

Configuration Methods:
Ant Design Theme and props for functionality

Special Installation Requirements: Yes, in some cases, `ConfigProvider` for global configuration

License: MIT

Pricing: Free

RTL Support: Yes

Github:https://github.com/ant-design/ant-design

Website:https://ant.design

Docs:https://ant.design/components/overview/

ChakraUI

ChakraUI

Configuration Methods:
Theme provider for customization, props for functionality

Special Installation Requirements: Yes, `ChakraProvider` at the root of your application

License: MIT

Pricing: Free

RTL Support: Yes

Github:https://github.com/chakra-ui/chakra-ui

Website:https://chakra-ui.com

Docs:https://chakra-ui.com/docs

Mantine

Mantine

Configuration Methods:
Theme provider for customization, props for functionality

Special Installation Requirements: Yes, The application must be wrapped with MantineProvider

License: MIT

Pricing: Free

RTL Support: Yes

Github:https://github.com/mantinedev/mantine

Website:https://mantine.dev

Docs:https://mantine.dev/getting-started

MaterialUI

MaterialUI

Configuration Methods:
Theme provider for customization, props for functionality

Special Installation Requirements: Yes, `ThemeProvider` for applying global themes

License: MIT

Pricing: Free, with premium templates and components available for purchase

RTL Support: Yes

Github:https://github.com/mui-org/material-ui

Website:https://material-ui.com

Docs:https://material-ui.com/docs

NextUI

NextUI

Configuration Methods:
Tailwind CSS for styling, props for functionality

Special Installation Requirements: No specific context provider needed for basic installation

License: MIT

Pricing: Free

RTL Support: Limited

Github:https://github.com/nextui-org/nextui

Website:https://nextui.org

Docs:https://nextui.org/docs

RadixUI

RadixUI

Configuration Methods:
Props for functionality, styling via CSS

Special Installation Requirements: No, but encourages the use of their primitives for consistency

License: MIT

Pricing: Free

RTL Support: Yes

Github:https://github.com/radix-ui/primitives

Website:https://radix-ui.com

Docs:https://radix-ui.com/docs

ShadcnUI

ShadcnUI

Configuration Methods:
Tailwind CSS and Radix UI for styling, props for functionality

Special Installation Requirements: No specific context provider, but installation via CLI for component selection

License: MIT

Pricing: Free

RTL Support: Unknown

Github:https://github.com/shadcn-ui/ui

Website:https://ui.shadcn.com

Docs:https://ui.shadcn.com/docs

Detailed Framework Information

whichui icon

Keep up to date

Join our newsletter for regular updates. No spam ever.

© 2024 Open Source App. All rights reserved.

Want to contribute? Visit our GitHub repository.