A draggable and resizable responsive grid layout system for React applications.
React-Grid-Layout is a React library for creating interactive, responsive grid layouts with draggable and resizable widgets. It solves the problem of building customizable dashboard interfaces and admin panels by providing a flexible grid system that adapts to different screen sizes and user interactions. Unlike similar systems, it is React-only, responsive, and supports breakpoints.
React developers building dashboard applications, admin panels, data visualization tools, or any UI requiring customizable, interactive grid layouts. It's particularly useful for teams needing responsive, draggable interfaces without jQuery dependencies.
Developers choose React-Grid-Layout for its pure React implementation, responsive breakpoints, TypeScript support, and modular architecture. Its composable API, pluggable compaction algorithms, and hooks-based design offer greater flexibility and performance over alternatives.
A draggable and resizable grid layout with responsive breakpoints, for React.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports multiple layouts per screen size with user-defined or auto-generated breakpoints, making it ideal for dashboards that must adapt to various devices, as shown in the responsive demos.
Offers draggable and resizable items with configurable handles, constraints, and pluggable compactors, enabling highly customizable UI interactions for complex dashboards.
Provides tree-shakeable builds, separate entry points for core algorithms, and hooks like useContainerWidth, ensuring better performance and integration with modern React patterns.
Includes first-class TypeScript types with a composable API, eliminating the need for external @types packages and offering type-safe configuration.
Requires manual width measurement via hooks or providers, and extensive configuration for grid, drag, and resize behaviors, adding overhead for simple use cases.
v2 introduced significant breaking changes, such as required width prop and immutable callbacks, forcing migration efforts for existing users, as detailed in the migration guide.
Standard compactors have O(n²) complexity for large layouts, though fast compactors are available as extras; this can impact dashboards with hundreds of widgets.
react-grid-layout is an open-source alternative to the following products: