Drag and Drop
Explore accessible and flexible drag-and-drop experiences using mouse or keyboard.
These examples demonstrate how to implement sortable lists and rearrange items using the powerful and extensible @dnd-kit
library.
Single-Column Sortable List
Reorder items in a single column using drag handles or keyboard navigation. Tab to an item, press Space
or Enter
to grab it, then use arrow keys to move.
- Item 1
- Item 2
- Item 3
- Item 4
- Item 5
- Item 6
- Item 7
- Item 8
- Item 9
Multi-Container Sort
Drag and drop items between multiple containers. Columns can also be reordered by dragging their headers.
To Do
- Item 1
- Item 2
- Item 3
- Item 4
- Item 5
- Item 6
- Item 7
- Item 8
- Item 9
Done
- Item 10
- Item 11
- Item 12
- Item 13
- Item 14
Vanilla JS Sort
No external libraries required—this example shows how to build basic drag-and-drop sorting with plain JavaScript.
To Do
- Item 1
- Item 2
- Item 3
- Item 4
- Item 5
- Item 6
- Item 7
- Item 8
- Item 9
Kanban Board
A more advanced drag-and-drop example with multiple columns and cards. You can move cards between columns and reorder both cards and columns freely.
To Do
Task 1
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris vitae ex sem. Ut posuere nibh risus, vel pellentesque elit varius sed. Etiam eleifend consequat tortor, ac ultrices nunc viverra pretium. Praesent rutrum congue justo fermentum varius. Aenean malesuada magna ut purus tincidunt tempor. Quisque urna erat, finibus quis mi vitae, vehicula gravida dui. In vitae elementum felis, sed interdum nunc. Integer varius nibh ac congue rutrum. Pellentesque vel auctor risus. Cras quis sollicitudin odio.
Task 2
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris vitae ex sem. Ut posuere nibh risus, vel pellentesque elit varius sed. Etiam eleifend consequat tortor, ac ultrices nunc viverra pretium. Praesent rutrum congue justo fermentum varius. Aenean malesuada magna ut purus tincidunt tempor. Quisque urna erat, finibus quis mi vitae, vehicula gravida dui. In vitae elementum felis, sed interdum nunc. Integer varius nibh ac congue rutrum. Pellentesque vel auctor risus. Cras quis sollicitudin odio.
In Progress
Task 3
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris vitae ex sem. Ut posuere nibh risus, vel pellentesque elit varius sed. Etiam eleifend consequat tortor, ac ultrices nunc viverra pretium. Praesent rutrum congue justo fermentum varius. Aenean malesuada magna ut purus tincidunt tempor. Quisque urna erat, finibus quis mi vitae, vehicula gravida dui. In vitae elementum felis, sed interdum nunc. Integer varius nibh ac congue rutrum. Pellentesque vel auctor risus. Cras quis sollicitudin odio.


Task 4
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris vitae ex sem. Ut posuere nibh risus, vel pellentesque elit varius sed. Etiam eleifend consequat tortor, ac ultrices nunc viverra pretium. Praesent rutrum congue justo fermentum varius. Aenean malesuada magna ut purus tincidunt tempor. Quisque urna erat, finibus quis mi vitae, vehicula gravida dui. In vitae elementum felis, sed interdum nunc. Integer varius nibh ac congue rutrum. Pellentesque vel auctor risus. Cras quis sollicitudin odio.
In Review
Task 5
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris vitae ex sem. Ut posuere nibh risus, vel pellentesque elit varius sed. Etiam eleifend consequat tortor, ac ultrices nunc viverra pretium. Praesent rutrum congue justo fermentum varius. Aenean malesuada magna ut purus tincidunt tempor. Quisque urna erat, finibus quis mi vitae, vehicula gravida dui. In vitae elementum felis, sed interdum nunc. Integer varius nibh ac congue rutrum. Pellentesque vel auctor risus. Cras quis sollicitudin odio.


Task 6
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris vitae ex sem. Ut posuere nibh risus, vel pellentesque elit varius sed. Etiam eleifend consequat tortor, ac ultrices nunc viverra pretium. Praesent rutrum congue justo fermentum varius. Aenean malesuada magna ut purus tincidunt tempor. Quisque urna erat, finibus quis mi vitae, vehicula gravida dui. In vitae elementum felis, sed interdum nunc. Integer varius nibh ac congue rutrum. Pellentesque vel auctor risus. Cras quis sollicitudin odio.


Task 7
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris vitae ex sem. Ut posuere nibh risus, vel pellentesque elit varius sed. Etiam eleifend consequat tortor, ac ultrices nunc viverra pretium. Praesent rutrum congue justo fermentum varius. Aenean malesuada magna ut purus tincidunt tempor. Quisque urna erat, finibus quis mi vitae, vehicula gravida dui. In vitae elementum felis, sed interdum nunc. Integer varius nibh ac congue rutrum. Pellentesque vel auctor risus. Cras quis sollicitudin odio.

Reviewed
Task 8
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris vitae ex sem. Ut posuere nibh risus, vel pellentesque elit varius sed. Etiam eleifend consequat tortor, ac ultrices nunc viverra pretium. Praesent rutrum congue justo fermentum varius. Aenean malesuada magna ut purus tincidunt tempor. Quisque urna erat, finibus quis mi vitae, vehicula gravida dui. In vitae elementum felis, sed interdum nunc. Integer varius nibh ac congue rutrum. Pellentesque vel auctor risus. Cras quis sollicitudin odio.
Task 9
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris vitae ex sem. Ut posuere nibh risus, vel pellentesque elit varius sed. Etiam eleifend consequat tortor, ac ultrices nunc viverra pretium. Praesent rutrum congue justo fermentum varius. Aenean malesuada magna ut purus tincidunt tempor. Quisque urna erat, finibus quis mi vitae, vehicula gravida dui. In vitae elementum felis, sed interdum nunc. Integer varius nibh ac congue rutrum. Pellentesque vel auctor risus. Cras quis sollicitudin odio.
Task 9
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris vitae ex sem. Ut posuere nibh risus, vel pellentesque elit varius sed. Etiam eleifend consequat tortor, ac ultrices nunc viverra pretium. Praesent rutrum congue justo fermentum varius. Aenean malesuada magna ut purus tincidunt tempor. Quisque urna erat, finibus quis mi vitae, vehicula gravida dui. In vitae elementum felis, sed interdum nunc. Integer varius nibh ac congue rutrum. Pellentesque vel auctor risus. Cras quis sollicitudin odio.