sortablejs/sortable

Reorderable drag-and-drop lists for modern browsers and touch devices. No jQuery or framework required.

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 9 minutes ago
Added to GitGenius on September 13th, 2026
Created on December 19th, 2013
Open Issues & Pull Requests: 526 (+0)
GitHub issues: Enabled
Number of forks: 3,720
Total Stargazers: 31,183 (+0)
Total Subscribers: 402 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 24.4 days
Mean response time: 185.0 days
90th percentile: 787.2 days
Tracked items: 85

Most active contributors

Sign in to see contributor activity.

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 100% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Only 4% of issues opened in the past year have been closed. Three people close 65% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 81
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 1,225 days
Stale 30+ days: 80
Stale 90+ days: 79

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • bug (5)
  • question (4)
  • enhancement (2)
  • feature (2)
  • help wanted (2)
  • Swap (1)
  • cannot reproduce (1)
  • firefox (1)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

Sortable is a JavaScript library for reorderable drag-and-drop lists that works on modern browsers and touch devices without requiring jQuery or a framework.

The library solves the problem of enabling intuitive list reordering through drag-and-drop interactions. It builds on the native HTML5 drag and drop API to provide smooth, animated reordering within a single list or across multiple lists. The approach supports both mouse and touch input, includes smart auto-scrolling and advanced swap detection, and allows customization through options like drag handles and CSS animations.

Developers should choose this tool if they need drag-and-drop functionality without framework dependencies or the overhead of jQuery. It suits projects ranging from simple reorderable lists to complex multi-list interfaces with cross-list dragging. The library works with any CSS framework and integrates with popular frameworks including Angular, React, Vue, Ember, Knockout, and Polymer through dedicated bindings. The core library remains framework-agnostic, making it suitable for vanilla JavaScript projects or as a foundation for framework-specific wrappers.

The project maintains active development with continuous integration testing and code quality monitoring. The codebase includes TypeScript definitions for type-safe usage in TypeScript projects. The library supports plugins for extended functionality, such as multi-drag capabilities, allowing developers to add features beyond the core reordering behavior. Documentation includes detailed articles on advanced features like dragging multiple items and swap threshold configuration, providing guidance for implementing sophisticated drag-and-drop interactions.