clauderic/dnd-kit
clauderic/dnd-kit has 17,782 GitHub stars and 928 forks. GitHot measured +2 stars in 24 hours. Last checked 2026-11-06 01:09 UTC. Last push 2026-10-31.
The modern toolkit for building drag and drop interfaces
What you can do
- Framework agnostic core: The architecture is built in layers — a framework-agnostic core (@dnd-kit/abstract), a DOM implementation (@dnd-kit/dom), and thin adapters for your framework of choice.
- Supports a wide range of use cases: lists, grids, multiple containers, nested contexts, variable sized items, virtualized lists, 2D games, and more.
- Built-in support for multiple input methods: Pointer, mouse, touch and keyboard sensors.
- Fully customizable & extensible: Customize every detail — animations, transitions, behaviours, styles. Build your own sensors, collision detection algorithms, customize key bindings and more.
Measured star growth
- in 24h
- +2
- in 7 days
- Update delayed
- in 15 days
- Update delayed
- in 1 month
- Update delayed
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
README.md
OriginalA modern, lightweight, performant, accessible and extensible drag and drop toolkit for the web
Features
- Framework agnostic core: The architecture is built in layers — a framework-agnostic core (
@dnd-kit/abstract), a DOM implementation (@dnd-kit/dom), and thin adapters for your framework of choice. - Supports a wide range of use cases: lists, grids, multiple containers, nested contexts, variable sized items, virtualized lists, 2D games, and more.
- Built-in support for multiple input methods: Pointer, mouse, touch and keyboard sensors.
- Fully customizable & extensible: Customize every detail — animations, transitions, behaviours, styles. Build your own sensors, collision detection algorithms, customize key bindings and more.
- Accessibility: Keyboard support, sensible default ARIA attributes, customizable screen reader instructions and live regions built-in.
- Performance: Built with performance in mind to support silky smooth animations.
- Sortable: Need to build a sortable interface? Check out
@dnd-kit/dom/sortable, a thin layer built on top of the core.
Getting started
Choose your preferred framework to get started:
|
Build drag and drop interfaces using plain JavaScript
|
Build drag and drop interfaces using React components and hooks
|
|
Build drag and drop interfaces using Vue composables and components
|
Build drag and drop interfaces using Svelte primitives and components
|
|
Build drag and drop interfaces using SolidJS hooks and components
|
Documentation
Visit dndkit.com for full documentation, API reference, guides, and interactive examples.
Packages
| Package | Version | Description |
|---|---|---|
@dnd-kit/abstract |
Abstract core | |
@dnd-kit/collision |
Collision detection | |
@dnd-kit/dom |
Framework-agnostic DOM layer | |
@dnd-kit/geometry |
Geometry utilities | |
@dnd-kit/helpers |
Helper functions | |
@dnd-kit/react |
React adapter | |
@dnd-kit/solid |
SolidJS adapter | |
@dnd-kit/state |
Reactive state management | |
@dnd-kit/svelte |
Svelte adapter | |
@dnd-kit/vue |
Vue adapter |
Contributing
This is a monorepo managed with Turborepo and bun.
# Install dependencies
bun install
# Build all packages
bun run build
# Run dev mode
bun run dev
License
Explore related projects
freeCodeCamp/freeCodeCamp
freeCodeCamp.org's open-source codebase and curriculum. Learn math, programming, and computer science for free.
458,651 starsdonnemartin/system-design-primer
Learn how to design large-scale systems. Prep for the system design interview. Includes Anki flashcards.
377,040 starsreact/react
The library for web and native user interfaces.
252,052 starsvuejs/vue
This is the repo for Vue 2. For Vue 3, go to https://github.com/vuejs/core
212,523 stars