# Shopify/draggable

The JavaScript Drag & Drop library your grandparents warned you about.

Repository: https://github.com/Shopify/draggable
Canonical: https://ross.abutalabs.com/products/draggable
Homepage: https://shopify.github.io/draggable
Language: JavaScript
License: MIT
License Family: permissive
Topics: javascript, drag-and-drop, draggable, es6
Last push: 2025-12-01T19:07:13+00:00

## Health v2 (maintenance only)
Score: 52/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 55, release rhythm 21, longevity 100
- inputs: {"age_days": 3262, "days_push": 275, "days_rel": 315, "gap_med": 217, "n_releases_24m": 2}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 18468, forks 1116 (observed 2026-08-28T04:11:26.713268+00:00)

## What it is
A modular JavaScript drag-and-drop library from Shopify that abstracts native browser drag events into a comprehensive API, with Sortable, Droppable, and Swappable modules built on top of the core Draggable engine. It supports mouse, touch, and force touch events, is lightweight (~16kB), and is extensible via custom modules and sensors.

## Use cases
- reorder list items by dragging
- build a kanban board with drag and drop
- swap two elements' positions on drag
- make elements draggable with touch support
- create custom drag and drop interactions with events
- implement sortable grids in vanilla JavaScript

## When to choose
- you need fine-grained control over drag and drop behavior in vanilla JS or any framework
- you want a lightweight, modular library with sortable, swappable, and droppable modes
- you need touch and force touch support out of the box

## When to avoid
- you need actively maintained software with guaranteed bug fixes, since Shopify no longer maintains it
- you want built-in accessibility or keyboard dragging, which is still incomplete
- your framework already ships a first-party drag-and-drop solution

## Facets
- artifact type: library
- maturity: maintenance
- function: ui-components, animation, frontend-framework
- domain: web-development, frontend
- platform: browser, cross-platform
- tags: drag-and-drop, sortable, droppable, swappable, es6, touch-events, nodejs

## Member repositories
- Shopify/draggable (main) score 52

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:11:26.713268+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-29T17:02:02.146889+00:00, confidence not recorded.
  - readme: https://github.com/Shopify/draggable (fetched 2026-08-28T04:11:26.713268+00:00, sha 02ab1af1ca88)
  - homepage: https://shopify.github.io/draggable (fetched 2026-08-29T08:00:01.419340+00:00, sha cd782302aa69)
- Data as of 2026-08-30T08:39:29.467469+00:00.
