Search...Search plugins and themes...
⌘K
Sign in
  • Get started
  • Download
  • Pricing
  • Enterprise
  • Account
  • Obsidian
  • Overview
  • Sync
  • Publish
  • Canvas
  • Mobile
  • Web Clipper
  • CLI
  • Learn
  • Help
  • Developers
  • Changelog
  • About
  • Roadmap
  • Blog
  • Resources
  • System status
  • License overview
  • Terms of service
  • Privacy policy
  • Security
  • Community
  • Plugins
  • Themes
  • Discord
  • Forum / 中文论坛
  • Merch store
  • Brand guidelines
Follow us
DiscordTwitterBlueskyThreadsMastodonYouTubeGitHub
© 2026 Obsidian

Drag and Drop Lists

Ben HancockBen Hancock93 downloads

Reorder list items by dragging their markers, with animated previews and mobile task status controls.

Add to Obsidian
Drag and Drop Lists screenshot
  • Overview
  • Scorecard
  • Updates1

Reorder Markdown list items directly in Obsidian's Live Preview editor by dragging their bullet, number, or task checkbox.

Drag and Drop Lists works on desktop and mobile. The dragged item follows the pointer while the surrounding list rearranges to show exactly where it will land.

Dragging a task and its nested items in Obsidian

Features

  • Drag unordered, numbered, and task-list items by their visible marker.
  • Move a parent item together with its contiguous nested list items.
  • Leave unrelated prose and blank lines in place.
  • Preview the destination with live list rearrangement and smooth pickup and landing animations.
  • Reindent a moved subtree when dropping it at another nesting level.
  • Preserve the move as one undoable editor transaction.
  • Choose whether the cursor lands at the beginning or end of the moved line.
  • Move the current list item up or down from the command palette.
  • Cycle through common task types from Obsidian's configurable mobile toolbar.
  • Work with blockquotes and mixed tab-and-space indentation.

Usage

In Live Preview, press or click a bullet, number, or task checkbox and drag it vertically. Release over the projected gap to place the item there. Release outside a valid list target, or press Escape on desktop, to cancel the move.

Touch interactions use an expanded marker hit area, a brief pickup delay, a mobile drag threshold, and a preview positioned beneath the finger. A quick checkbox tap still toggles it without showing the drag preview. Native text selection and workspace swipe gestures remain available when a list drag is not active.

Mobile task types

To add the task-type action to the mobile toolbar:

  1. Open Settings → Mobile → Manage toolbar options.
  2. Add the Cycle current list item type command.
  3. Place the cursor on a list item and tap the toolbar action to advance its type.

By default, the command cycles through these Markdown markers:

Type Marker
Bullet -
Unchecked [ ]
Completed [x]
In progress [/]
Cancelled [-]
Forwarded [>]
Scheduled [<]
Question [?]
Important [!]
Star [*]

The active theme or CSS snippets control how alternate task markers appear. Drag and Drop Lists changes only the Markdown marker.

Settings

Cursor placement controls whether the caret appears at the beginning or end of the moved item's first line after a drop.

Compatibility

  • Obsidian 1.13.7 or later.
  • Desktop and mobile.
  • Live Preview editing mode. Reading view and Source mode are not draggable.

The plugin integrates with Live Preview's rendered list DOM because Obsidian does not expose a public drag-handle API. The integration is scoped to editor list markers and fails harmlessly when no supported marker is present.

Installation

Community plugins

Once listed, install Drag and Drop Lists from Settings → Community plugins → Browse.

Manual installation

Download main.js, manifest.json, and styles.css from the latest GitHub release and place them in:

<vault>/.obsidian/plugins/drag-and-drop-lists/

Reload Obsidian, then enable Drag and Drop Lists under Community plugins.

Privacy

Drag and Drop Lists processes the active editor locally. It does not make network requests, collect analytics, access the clipboard, or read and write files through the vault API. It saves the cursor-placement preference in the plugin's local settings data.

Development

npm ci
npm run check

Use npm run dev for an incremental development build. Production builds generate the ignored main.js release artifact at the repository root.

Contributions are welcome; see CONTRIBUTING.md.

License

MIT

HealthExcellent
ReviewSatisfactory
Details
Current version
1.0.0
Last updated
3 weeks ago
Created
3 weeks ago
Updates
1 release
Downloads
93
Compatible with
Obsidian 1.13.7+
Platforms
Desktop, Mobile
License
MIT
Report bugRequest featureReport plugin
Author
Ben HancockBen Hancockbenhancock
GitHubbenhancock
  1. Community
  2. Plugins
  3. Drag and Drop Lists

Related plugins

Notebook Navigator

A better file browser and calendar inspired by Apple Notes, Bear, Evernote and Day One.

Importer

Convert your data to Markdown files you can use in Obsidian. Works with Apple Notes, OneNote, Evernote, Notion, Google Keep, and many other formats.

Advanced Canvas

Supercharge your canvas experience. Create presentations, flowcharts and more.

Minimal Theme Settings

Control the colors and fonts in Minimal Theme.

Homepage

Open a note, base, or workspace on startup, or set it for quick access later.

Linter

Format and style your notes. Linter can be used to format YAML tags, aliases, arrays, and metadata; footnotes; headings; spacing; math blocks; regular Markdown contents like list, italics, and bold styles; and more with the use of custom rule options.

TaskNotes

Note-based task management with calendar, pomodoro and time-tracking integration.

Hider

Hide interface elements such as tooltips, status bar, titlebar, and more.

BRAT

Easily install a beta version of a plugin for testing.

Excalidraw

Visual PKM powerhouse. Create and edit Excalidraw drawings.