Skip to content

dnd-kit vs Sortable

Which should you use? A side-by-side look at what each one does, who it suits, what it costs, how hard it is to set up, and where each falls short.

dnd-kit

Open source · MIT

A toolkit for building drag and drop interfaces on the web, with adapters for several frameworks.

Sortable

Open source · MIT

A small JavaScript library for drag-and-drop reordering of lists, with no framework required.

The short answer

Choose dnd-kit if you need…

  • Developers building sortable lists or grids in a React, Vue, Svelte, or Solid app
  • Teams that want keyboard and screen reader support built into drag and drop
  • Developers who need to customize sensors, collision detection, or animations
  • Projects that want a lightweight, MIT-licensed drag and drop dependency

Choose Sortable if you need…

  • Web developers adding reorderable lists to a site or app
  • Teams using React, Vue, Angular, or similar frameworks who want a framework-specific wrapper
  • Projects that need drag handles, multi-drag, or moving items between lists
  • Developers who want a library with a simple options-based API

Side-by-side

dnd-kitSortable
TypeLibraryLibrary
PriceFree and open sourceFree and open source
LicenceMITMIT
GitHub stars17.8k31.2k
Setup difficultyIntermediateBeginner
How you get itInstall with a package managerInstall with a package manager
Main languageTypeScriptJavaScript
Last code update6 days ago8 months ago

What each one is

dnd-kit

dnd-kit is a set of JavaScript packages that let developers add drag and drop to web pages and apps. It has a framework-agnostic core and a DOM layer, plus thin adapters for React, Vue, Svelte, and SolidJS, with plain JavaScript also supported. It is used to build things like sortable lists, grids, and multi-container layouts.

Sortable

Sortable is a JavaScript library that lets people reorder list items by dragging them, either within one list or between lists. It works with touch devices and modern browsers, and does not need jQuery or a specific UI framework. Developers add it to a page to make lists sortable without writing their own drag logic.

Best for

dnd-kit

  • Developers building sortable lists or grids in a React, Vue, Svelte, or Solid app
  • Teams that want keyboard and screen reader support built into drag and drop
  • Developers who need to customize sensors, collision detection, or animations
  • Projects that want a lightweight, MIT-licensed drag and drop dependency

Sortable

  • Web developers adding reorderable lists to a site or app
  • Teams using React, Vue, Angular, or similar frameworks who want a framework-specific wrapper
  • Projects that need drag handles, multi-drag, or moving items between lists
  • Developers who want a library with a simple options-based API

Strengths

dnd-kit

  • Supports pointer, mouse, touch, and keyboard input out of the box
  • Framework-agnostic core with adapters for several popular frameworks
  • Ships with default ARIA attributes and customizable screen reader instructions

Sortable

  • Works on touch devices and modern browsers, per the README
  • Simple API with many documented options and callbacks such as onEnd and onAdd
  • Has framework wrappers listed in the README for several popular frameworks

Not ideal for

dnd-kit

  • Non-programmers looking for a ready-made tool; it is a code library that must be integrated into a project
  • Projects that only need simple file upload drop zones, since the README focuses on element dragging and does not cover that case

Sortable

  • Non-developers who want a finished app; this is a code library that must be added to a project
  • Projects needing drag-and-drop for non-list layouts, since the README focuses on lists
  • Anyone needing guaranteed support for very old browsers beyond what the README states (it mentions IE9)

Trade-offs

dnd-kit

  • As a toolkit, it requires writing code and understanding its layered package structure
  • The README is truncated and points to external docs for full API details, so this entry relies on limited information

Sortable

  • Requires writing JavaScript and HTML integration; not a drop-in tool for non-coders
  • Some advanced behavior depends on plugins that must be mounted separately
  • The README is truncated, so full API details must be checked in the project's documentation

Getting started

dnd-kit

Clone the repository (contributors)

git clone https://github.com/clauderic/dnd-kit

Install dependencies (monorepo, from README)

bun install
Step-by-step guide: how to use dnd-kit

Sortable

Install with NPM

npm install sortablejs --save

Install with Bower

bower install --save sortablejs
Step-by-step guide: how to use Sortable

Frequently asked questions

What is the difference between dnd-kit and Sortable?

dnd-kit: A toolkit for building drag and drop interfaces on the web, with adapters for several frameworks. Sortable: A small JavaScript library for drag-and-drop reordering of lists, with no framework required. dnd-kit suits developers building sortable lists or grids in a react, vue, svelte, or solid app, while Sortable suits web developers adding reorderable lists to a site or app.

Are dnd-kit and Sortable free?

dnd-kit: Free and open source. Sortable: Free and open source.

Which is easier to set up, dnd-kit or Sortable?

Sortable is easier to get started with (rated beginner); dnd-kit is rated intermediate and usually needs more setup.

Is dnd-kit or Sortable more popular?

Sortable has more GitHub stars (31.2k) than dnd-kit (17.8k). Popularity isn't the same as fit — check which one matches your use case above.

What are other alternatives to dnd-kit and Sortable?

Other options people compare them with include React DnD, interact.js, Muuri, React-Grid-Layout, Puck.

Keep comparing

Built from our catalogue entries for both products: open-source details come from each project's README (AI-assisted, refreshed weekly) and GitHub data; AI-tool details are editorial. Spotted something wrong? Let us know from either product's page.