An unofficial Svelte port of shadcn/ui: accessible, customizable components you copy into your own app.
clauderic/dnd-kit
A modern, lightweight drag and drop toolkit for the web, with a framework-agnostic core and adapters for React, Vue, Svelte and SolidJS.
- Stars
- 17,738
- Forks
- 927
- Open issues
- 134
- Last commit
- 7 days ago
What is it?
dnd-kit is a drag and drop toolkit for building interactive interfaces on the web. It is split into layers: a framework-agnostic core (@dnd-kit/abstract), a DOM implementation (@dnd-kit/dom), and thin adapters for React, Vue, Svelte and SolidJS, with a plain JavaScript option as well.
The toolkit covers lists, grids, multiple containers, nested contexts, variable-sized items and virtualized lists. It ships pointer, mouse, touch and keyboard sensors, and lets developers replace sensors, collision detection algorithms and key bindings. A sortable layer (@dnd-kit/dom/sortable) is built on top of the core for common reorderable lists.
Accessibility is handled with keyboard support, default ARIA attributes, customizable screen reader instructions and live regions. The project is written in TypeScript and published under the MIT license.
Key features
- 01Framework-agnostic core with adapters for React, Vue, Svelte and SolidJS
- 02Pointer, mouse, touch and keyboard sensors built in
- 03Supports lists, grids, multiple containers and virtualized lists
- 04Customizable sensors, collision detection and key bindings
- 05Sortable layer built on the core for reorderable lists
- 06Keyboard support and default ARIA attributes for accessibility
Use cases
- Building sortable lists or kanban-style boards in a React or Vue app
- Creating drag-and-drop grids or layouts with multiple containers
- Adding touch and keyboard-accessible reordering to a web interface
Quick start
- 1
Pick your framework and follow its quickstart guide on dndkit.com
- 2
Install the monorepo dependencies with bun
bun install - 3
Start dev mode
bun run dev
Topics
FAQ
- What is dnd-kit?
- A modern, lightweight drag and drop toolkit for the web, with a framework-agnostic core and adapters for React, Vue, Svelte and SolidJS. dnd-kit is a drag and drop toolkit for building interactive interfaces on the web. It is split into layers: a framework-agnostic core (@dnd-kit/abstract), a DOM implementation (@dnd-kit/dom), and thin adapters for React, Vue, Svelte and SolidJS, with a plain JavaScript option as well.
- Is dnd-kit free to use? What license does it have?
- dnd-kit is open source under the MIT license. Check the license terms before using it in commercial products.
- Is dnd-kit still maintained?
- Actively maintained. The last commit to dnd-kit was on Oct 15, 2026.
- What can I use dnd-kit for?
- Building sortable lists or kanban-style boards in a React or Vue app Creating drag-and-drop grids or layouts with multiple containers Adding touch and keyboard-accessible reordering to a web interface
- How do I install dnd-kit?
- Pick your framework and follow its quickstart guide on dndkit.com Install the monorepo dependencies with bun: bun install Start dev mode: bun run dev
- Where can I get dnd-kit?
- The source code and installation instructions are on GitHub: https://github.com/clauderic/dnd-kit
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
Accessible React component library and design system for building web apps quickly, with dark mode and Next.js RSC support.
A React UI component library built on React Aria and Tailwind CSS v4, formerly known as NextUI.
An open-source set of unstyled, accessible React UI primitives for building design systems and web apps.
An open source React design system with 150+ accessible components, themes, and a CLI, built on React 19 and StyleX.
An unstyled React component library of accessible UI primitives for building custom design systems.