PACKAGE · UI COMPONENTS

@mantine/core

React components library focused on usability, accessibility and developer experience

WEEKLY DOWNLOADS 2.6M
STARS 31.8K
FORKS 2.4K
OPEN ISSUES 31
GZIP SIZE 162.8 kB
UNPACKED SIZE 9.3 MB
DEPENDENCIES 5
LAST UPDATED 7mo ago
DOWNLOAD TRENDS

@mantine/core downloads · last 12 months

Download trends for @mantine/core1 download series from Oct 2025 to Sep 2026. Use left and right arrow keys to inspect monthly values.02.6M5.1M7.7M10.3MOct 2025JanAprJulSep 2026
@mantine/core
ABOUT @MANTINE/CORE

@mantine/core is a comprehensive React component library designed to accelerate UI development with a strong emphasis on usability, accessibility, and developer experience. It provides a rich set of pre-built components, from basic form elements to complex layout structures, enabling developers to build interfaces quickly and consistently without reinventing the wheel. The library aims to solve the common challenge of creating beautiful, functional, and accessible user interfaces in React applications, offering a streamlined way to manage UI state and interactions.

At its core, Mantine is built on principles of modularity, theming, and customization. Its design philosophy prioritizes a positive developer experience through clear documentation, intuitive APIs, and seamless integration with modern React practices. This makes it an excellent choice for React developers seeking a robust, opinionated, yet flexible component system that scales from small projects to enterprise-level applications. The focus on accessibility ensures that applications built with Mantine are usable by a wider audience.

A key architectural pattern in Mantine is its hook-based approach for managing component logic and state. For example, hooks like `useDisclosure` for managing modal/drawer states or `useForm` for form handling abstract away complex imperative logic, allowing for cleaner component code. The theming system, powered by `MantineProvider`, allows for deep customization of component appearance and behavior using a CSS-in-JS solution, enabling easy application-wide styling and dark-mode support. This theming capabilities are central to its adaptability.

Mantine integrates smoothly into the modern React ecosystem. It works seamlessly with popular tools and frameworks like Next.js, Vite, and Create React App, leveraging standard React patterns and hooks. Its TypeScript-first approach ensures type safety and enhanced developer tooling, making it a natural fit for projects already utilizing TypeScript. The library's modularity means developers can import only the components and hooks they need, minimizing bundle size.

The library has a substantial bundle size of 162.8 kB (gzipped), which is a trade-off for its extensive feature set and pre-styled components. While this is a significant portion of an application's initial load, its modular design allows for tree-shaking and selective imports. The project boasts a healthy ecosystem with 31.8K GitHub stars and 2.4K forks, indicating strong community adoption and a mature development process, with only 14 open issues as of the last update, suggesting active maintenance.

Developers should be aware that Mantine's opinionated nature, while beneficial for rapid development, might require more effort to override if a highly custom or non-standard UI paradigm is desired. Its extensive theming system, though powerful, introduces a layer of abstraction that might be unfamiliar to developers accustomed to simpler styling approaches. For applications requiring an extremely minimal footprint or built with technologies that do not leverage the React ecosystem, Mantine might be overkill.

WHEN TO USE
  • When building complex forms with validation and state management using the `useForm` hook.
  • For rapid prototyping and UI development where a wide array of pre-styled components like Buttons, Modals, and Inputs are needed.
  • When implementing dark mode and complex theming across a React application using `MantineProvider`.
  • For projects requiring a strong focus on accessibility standards out-of-the-box for components.
  • When integrating with frameworks like Next.js or Vite, benefiting from its TypeScript-first nature.
  • For applications needing reusable UI primitives and layout components that adhere to consistent design principles.
WHEN NOT TO USE
  • If you only need a few basic UI elements, consider a lighter alternative or writing custom components to minimize bundle size.
  • When developing for environments that do not support modern JavaScript features or the React component model.
  • If your project has extremely strict bundle size constraints where even optimized component libraries are too large.
  • When you are already heavily invested in another comprehensive UI component library and migrating would be prohibitive.
  • For highly specialized or graphically intensive UIs that require complete control over SVG rendering or canvas manipulation beyond standard component structures.

CORRECTIONS

Spot wrong data here?

A short note helps us fix it.

Anonymous · No account · No email back

COMPARISONS 8
@mantine/core vs @headlessui/react ★ 28.8K · 7.0M/wk @mantine/core vs @mui/material ★ 99.1K · 10.1M/wk @mantine/core vs @radix-ui/themes ★ 8.7K · 896.5K/wk @mantine/core vs @ark-ui/react ★ 5.4K · 1.0M/wk @mantine/core vs jsuites ★ 512 · 103.2K/wk @mantine/core vs @chakra-ui/react ★ 40.7K · 1.7M/wk @mantine/core vs antd ★ 99.7K · 3.6M/wk @mantine/core vs @floating-ui/react ★ 32.8K · 24.2M/wk