Drag and Drop is a native HTML5 functionality to move, sort, re-position any element via mouse drag and drop.
This is a collection of 10 best JavaScript libraries that enhance the native HTML5 drag and drop functionality or use the Drag and Drop API to do cool stuff on draggable elements.
Originally Published Aug 03 2018, updated Jan 18 2021
1. Sortable
Sortable is a lightweight and simple javascript library that makes a list of items sortable by using native Html5 drag and drop API. Works with all the modern browsers and touch devices.
2. dragula.js
dragula.js is a simple, dependency-free, touch-enabled JavaScript library that provides drag and drop functionality on DOM elements.
3. Drag And Drop With Snap Into Place – Magnet.js
A small and standalone JavaScript library that provides drag and drop with snap into place functionality for single or grouped elements.
4. Draggable, Resizable & Rotatable Plugin
A Photoshop inspired touch-enabled draggable, resizable and rotatable library without any 3rd dependencies.
5. Draggable HTML/SVG Elements – PlainDraggable
PlainDraggable is a simple, performant drag and drop library which enables draggable functionality on any HTML and SVG elements with snapping and boundary support.
6. draggable.js
draggable.js is a customizable draggable/droppable/sortable/swappable JavaScript library that works with mouse drag, touch and force touch events.
7. Touch-enabled Drag And Drop JavaScript Library – DragDropTouch
DragDropTouch is a JavaScript polyfill that enables the native HTML5 drag and drop functionality on mobile touch devices.
8. Mobile Compatible Drag And Drop Library – Draggin.js
A fast, cross-browser and mobile-compatible drag and drop library for JavaScript.
9. Touch-enabled Drag/Rotate/Resize/Snap Library – subjx
A JavaScript library that enables touch-friendly rotate, resize, and drag’n’drop functionalities on HTML elements and/or SVG objects.
10. Lightweigt HTML5 Drag And Drop Sortable Library – html5sortable
A lightweight and standalone JavaScript library for re-sorting a group of list and/or grid items using native HTML5 drag and drop API.
More Resources:
To find more JavaScript libraries to create draggable and sortable elements on the web app, don’t forget to check out our other awesome resources: