awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com

Drag and drop library

Ranking updated Jul 4, 2026

For a javascript library for drag and drop, the first results are sortablejs/sortable, rubaxa/sortable (Sortable is a JavaScript drag-and-drop library purpose-built for reorderable lists and cross-container transfers, supporting touch devices, drag handles, and list-transition animations, though it does not explicitly offer custom drag previews or ARIA accessibility) and mzabriskie/react-draggable. clauderic/dnd-kit and david-desmaisons/vue.draggable round out the shortlist. Compare the match explanations and check the project documentation against your requirements.

Explore the best drag and drop libraries for your project. Compare top-rated GitHub repositories by activity and features to find the best fit.

Drag and drop library

Find the best repos with AI.We'll search the best matching repositories with AI.
  • sortablejs/sortableSortableJS avatar

    SortableJS/Sortable

    31,135View on GitHub↗

    Sortable is a framework-agnostic JavaScript library for creating reorderable lists through drag and drop interactions. It functions as a reorderable list manager that allows users to rearrange DOM elements using pointer interactions on modern browsers and touch devices. The library enables the transfer or cloning of items between different lists using shared group identifiers. It supports complex organizational structures, including nested reorderable lists for managing hierarchical data across different levels. Its capabilities cover the animation of element movements and the configuration

    Sortable is a mature, framework-agnostic JavaScript library focused on creating reorderable lists and grid items via drag-and-drop, with built-in touch support, drag handles, and animations — it directly fits the core need of enabling drag-and-drop interactions in web applications.

    JavaScriptDrag HandlesFramework Agnostic UI LogicCSS Transitions
    View on GitHub↗31,135
  • rubaxa/sortableRubaXa avatar

    RubaXa/Sortable

    31,135View on GitHub↗

    Sortable is a JavaScript drag and drop library used to create reorderable lists of HTML elements. It is a framework-agnostic tool and a touch-enabled interaction library that functions across modern browsers and touch devices without dependencies on specific web frameworks. The library enables the movement and cloning of elements between different containers using shared group configurations. It supports the repositioning of multiple items simultaneously and the use of specific drag handles to restrict which areas of an element trigger a move. Additional capabilities include programmatic sor

    Sortable is a JavaScript drag-and-drop library purpose-built for reorderable lists and cross-container transfers, supporting touch devices, drag handles, and list-transition animations, though it does not explicitly offer custom drag previews or ARIA accessibility.

    JavaScriptDrag HandlesFramework Agnostic UI Logic
    View on GitHub↗31,135
  • mzabriskie/react-draggablemzabriskie avatar

    mzabriskie/react-draggable

    9,289View on GitHub↗

    react-draggable is a UI interaction library that provides core primitives and components for adding tactile movement and coordinate-based positioning to web elements. It serves as a tool for making user interface elements movable via mouse or touch interactions within React applications. The library supports the implementation of custom drag handles, allowing the initiation of movement to be restricted to specific child elements identified by CSS selectors. It also provides programmatic drag state management, enabling developers to control element positioning or use callbacks for movement wit

    This is a React-specific drag-and-drop library that lets you make elements movable with mouse or touch, including custom drag handles and basic animations, but it doesn't provide drag previews, mixed-grid support, or built-in accessibility, and it's limited to React rather than being framework-agnostic.

    JavaScriptDrag Handles
    View on GitHub↗9,289
  • clauderic/dnd-kitclauderic avatar

    clauderic/dnd-kit

    17,243View on GitHub↗

    This project is a modular toolkit for building accessible, component-based drag-and-drop interfaces in React. It provides a foundational framework for managing complex spatial interactions, state synchronization, and element registration, allowing developers to create interactive web applications that support mouse, touch, and keyboard inputs. The library distinguishes itself through a highly extensible architecture that separates input handling from interaction logic. It utilizes a sensor-based input abstraction to normalize diverse user interactions and a plugin-driven lifecycle to inject c

    dnd-kit is a React-specific drag-and-drop toolkit with strong support for touch, keyboard, and mouse inputs, custom drag previews, drag handles, accessibility (ARIA), and animations; it fits your search for a JavaScript/TypeScript drag-and-drop library, but it is not framework-agnostic as it requires React.

    TypeScriptDrag HandlesAccessible UI Components
    View on GitHub↗17,243
  • david-desmaisons/vue.draggableDavid-Desmaisons avatar

    David-Desmaisons/Vue.Draggable

    20,609View on GitHub↗

    Vue.Draggable is a user interface component for Vue that enables drag-and-drop list reordering. It functions as a declarative wrapper for the Sortable.js library, providing a specialized list element that synchronizes the visual order of elements with an underlying data model. The project supports complex interactive layouts, including the ability to transfer items between multiple containers and clone items during the drag process. It provides mechanisms to restrict drag initiation to specific handle elements and allows for the embedding of static content within the draggable area. The fram

    Vue.Draggable is a drag-and-drop list reordering library built specifically for Vue, which fits the core request for a drag‑and‑drop library but falls short on the desired framework‑agnostic design and several listed features like touch support and accessibility.

    JavaScriptDrag Handles
    View on GitHub↗20,609
  • bevacqua/dragulabevacqua avatar

    bevacqua/dragula

    22,160View on GitHub↗

    Dragula is a JavaScript drag and drop library and DOM element manipulator used to move and reorder HTML elements between multiple containers. It functions as a UI interaction framework and event manager that tracks drag lifecycles to facilitate the movement of elements within a web browser interface. The library distinguishes itself through configurable constraint validation, allowing developers to define which elements are draggable and which containers are permitted drop targets. It supports specialized interaction patterns such as element cloning, the use of specific drag handles to restri

    Dragula is a vanilla JavaScript drag-and-drop library for moving elements between containers, matching the core need, though it may lack some advanced features like touch support, ARIA, and animation out of the box.

    JavaScriptDrag Handles
    View on GitHub↗22,160
  • clauderic/react-sortable-hocclauderic avatar

    clauderic/react-sortable-hoc

    10,905View on GitHub↗

    React Sortable Hoc is a library for building drag-and-drop reorderable lists and grids within web applications. It provides a set of reusable components designed to integrate into the component-based architecture of React, allowing users to rearrange elements through mouse or touch input. The library utilizes a higher-order component pattern to inject drag-and-drop state management into existing list components without requiring modifications to the underlying implementation. It employs portal-based ghost rendering to move elements outside the normal document flow, while using hardware-accele

    React Sortable Hoc provides drag-and-drop sorting for lists and grids in React applications with touch support and custom previews, but it is React-specific rather than framework-agnostic.

    JavaScriptSortable ListsReact ComponentsDrag and Drop Libraries
    View on GitHub↗10,905
  • atlassian/react-beautiful-dndatlassian avatar

    atlassian/react-beautiful-dnd

    34,049View on GitHub↗

    This project is a declarative drag-and-drop library designed for building accessible and fluid interface interactions within web applications. It provides a component-based interface for managing complex list reordering and spatial relationships between elements, utilizing a specialized state container to coordinate movement logic. The library distinguishes itself through a focus on accessibility, maintaining a live connection between visual drag states and the browser accessibility tree to support screen readers and keyboard navigation. It optimizes performance by bypassing standard componen

    react-beautiful-dnd is a declarative drag-and-drop library for React that excels at accessible list reordering and includes smooth animations, but it is not framework-agnostic, so it fits the search if you use React but may miss those wanting a generic JS/TS solution.

    JavaScriptDeclarative Drag-and-Drop LibrariesAccessible Interaction ToolkitsList Reordering Components
    View on GitHub↗34,049
  • gridstack/gridstack.jsgridstack avatar

    gridstack/gridstack.js

    8,972View on GitHub↗

    gridstack.js is a JavaScript grid layout library and responsive dashboard framework used to create interactive interfaces with draggable and resizable elements. It functions as a drag-and-drop layout manager and a JSON-serializable layout engine, allowing user-defined interface states to be persisted and restored. The library distinguishes itself through a touch-enabled grid interface and a responsive system that automatically adjusts item placement based on screen breakpoints. It features a collision-based layout engine that manages overlapping coordinates to shift or swap elements, alongsid

    gridstack.js is a drag-and-drop library specialized for grid-based layouts with widgets, offering touch support, resizable items, and framework integrations—great for a draggable dashboard grid, but narrower than a general-purpose drag-and-drop library for arbitrary elements.

    TypeScriptDrag and Drop LibrariesGrid LayoutsCollision Detection
    View on GitHub↗8,972
  • marceljuenemann/angular-drag-and-drop-listsmarceljuenemann avatar

    marceljuenemann/angular-drag-and-drop-lists

    2,146View on GitHub↗

    This library provides a set of directives for building sortable, hierarchical user interfaces within the Angular framework. It leverages the native HTML5 drag-and-drop API to enable direct manipulation of data objects, allowing users to reorder items and manage complex list structures through intuitive browser interactions. The project distinguishes itself by supporting nested data visualization, enabling the creation of tree structures that maintain their hierarchy during drag-and-drop operations. It offers granular control over these interactions through custom drag handles, which restrict

    marceljuenemann/angular-drag-and-drop-lists is an Angular-specific library for sorting nested lists using the HTML5 Drag & Drop API, so it genuinely enables drag-and-drop interactions as requested, though it is not framework-agnostic and lacks many of the listed features like touch support and custom preview.

    JavaScriptDrag Handles
    View on GitHub↗2,146
  • ksylvest/jquery-gridlyksylvest avatar

    ksylvest/jquery-gridly

    852View on GitHub↗

    This project is a jQuery plugin designed for creating responsive grid interfaces that support interactive drag-and-drop reordering and manual resizing of elements. It provides a framework for managing structured layouts where content can be organized into a grid system that automatically adjusts to maintain visual alignment. The library enables users to customize dashboards by rearranging and scaling widgets through mouse-based interactions. It utilizes a coordinate-based system to detect collisions and ensure that elements snap into valid slots, while providing callback functions to monitor

    Gridly is a jQuery plugin for drag-and-drop on a grid, fitting the category but tied to jQuery and focused on grid layouts, so it lacks framework agnosticism and several advanced features you listed.

    CoffeeScriptjQuery Grid Layout PluginsGrid Drag-and-Drop ManagersAbsolute Positioning
    View on GitHub↗852
  • haltu/muurihaltu avatar

    haltu/muuri

    10,954View on GitHub↗

    Muuri is a JavaScript grid layout library and draggable UI framework used to create responsive grids with drag-and-drop reordering, sorting, and animated filtering. It features a nested grid system that allows full grid instances to be embedded inside other grid items to create hierarchical structures. The library uses a web worker layout engine to offload heavy coordinate calculations to background threads, maintaining interface responsiveness during complex rearrangements. The system provides interactive capabilities for moving items between multiple containers, filtering visibility based

    Muuri is a JavaScript grid layout and drag-and-drop library that enables reordering, sorting, and animated filtering within responsive grids, fitting the core drag-and-drop need, though it focuses on grid layouts rather than being a general-purpose drag-and-drop solution.

    JavaScriptDraggable Layout ElementsResponsive Grid LayoutsAsynchronous Layout Calculation
    View on GitHub↗10,954
  • atlassian/pragmatic-drag-and-dropatlassian avatar

    atlassian/pragmatic-drag-and-drop

    12,685View on GitHub↗

    Pragmatic Drag and Drop is a TypeScript library that provides a complete system for implementing drag and drop interactions in web applications. It handles the full lifecycle of drag operations, from registering drop targets and monitoring drag events to managing cleanup functions, all through a structured adapter-based approach. The library supports a wide range of data manipulation patterns, including reordering items within lists, tables, trees, virtual lists, and side navigation, as well as moving items between lists and across columns in a board layout. It also enables swapping items in

    Pragmatic Drag and Drop is a complete TypeScript library for implementing drag-and-drop interactions in web apps, supporting reordering in lists, tables, trees, grids, and kanban boards; it fits your search well, though its documentation should be checked for touch support, custom previews, and ARIA compliance.

    TypeScriptDrag AdaptersDrag Lifecycle EventsDrop Target Registries
    View on GitHub↗12,685
  • reppners/ngx-drag-dropreppners avatar

    reppners/ngx-drag-drop

    332View on GitHub↗

    Angular directives using the native HTML Drag And Drop API

    This is an Angular-specific drag-and-drop library using the native HTML Drag and Drop API, so it fits the category but is not framework-agnostic and may lack touch support and other desired features.

    TypeScriptDrag and Drop
    View on GitHub↗332
  • alex-fun/vue-drag-and-drop-listAlex-fun avatar

    Alex-fun/vue-drag-and-drop-list

    327View on GitHub↗

    🐴 Vue directives for modifying lists with the HTML5 drag & drop API.

    This Vue directive library provides drag-and-drop list reordering using the HTML5 API, fitting your search for a drag-and-drop library, but it is Vue-specific and list-focused, so it may lack the framework-agnostic support and advanced features like touch devices or drag handles you wanted.

    JavaScriptUIUI Components
    View on GitHub↗327
Compare the top 10 at a glance
RepositoryStarsLanguageLicenseLast push
sortablejs/sortable31.1KJavaScriptMITMar 24, 2026
rubaxa/sortable31.1KJavaScriptMITMar 24, 2026
mzabriskie/react-draggable
9.3K
JavaScript
MIT
May 29, 2026
clauderic/dnd-kit17.2KTypeScriptMITJun 11, 2026
david-desmaisons/vue.draggable20.6KJavaScriptMITMar 4, 2024
bevacqua/dragula22.2KJavaScriptMITJun 7, 2024
clauderic/react-sortable-hoc10.9KJavaScriptmitSep 13, 2023
atlassian/react-beautiful-dnd34KJavaScriptotherAug 18, 2025
gridstack/gridstack.js9KTypeScriptMITJun 22, 2026
marceljuenemann/angular-drag-and-drop-lists2.1KJavaScriptMITSep 22, 2023

Related searches

  • a drag-and-drop library for React interfaces
  • File upload library
  • a library for processing digital documents
  • a reusable tree view component for web
  • a drag and drop website builder
  • Context menu library
  • CSS layout engine
  • Web browser