Dragger

by ariestar
5
4
3
2
1
Score: 47/100

Description

The Dragger plugin adds block dragging to the editor so paragraphs, headings, lists, tasks, blockquotes, callouts, tables, code blocks and math blocks can be rearranged directly in place. It handles nested structures by using horizontal position for indent changes and vertical position for drop location, which keeps list and quote editing more controlled. The plugin also supports multi line selection dragging, a visible drop indicator, right click block type conversion with delete actions and configurable handles with different icons, colours, sizes and offsets. Mobile support is built in too, with long press dragging, a bottom toolbar and edge auto scroll during drag. A separate headless core package is published for reuse outside the app.

Reviews

No reviews yet.

Stats

stars
71,984
downloads
0
forks
61
days
NaN
days
NaN
days
0
total PRs
0
open PRs
0
closed PRs
0
merged PRs
0
total issues
0
open issues
0
closed issues
0
commits

Latest Version

Invalid date

Changelog

README file from

Github

English 中文

Dragger

Drag and drop any block to rearrange content in Obsidian — just like Notion.

Obsidian Obsidian Community Plugin npm License Release Downloads Stars CI TypeScript Issues Ask DeepWiki

gif

Features

  • 🧱 Block-level drag & drop — paragraphs, headings, lists, tasks, blockquotes, callouts, tables, code blocks, math blocks
  • 📐 Nested drag — horizontal position controls indent level; vertical position controls insertion row
  • 🔗 Multi-line selection drag — click or long-press to select a range, then drag as a group; native checkboxes mark selected blocks on desktop
  • 🎨 Customizable handles — 4 icon styles (dot / grip-dots / grip-lines / square), adjustable size, color, and horizontal offset
  • 📍 Visual drop indicator — glowing line shows exactly where the block will land
  • 📱 Mobile support — long-press drag mode, bottom toolbar block type conversion, edge auto-scroll during drag
  • ⌨️ Keyboard shortcuts — press Escape to exit multi-select mode on desktop
  • 🗑️ Block type menu with delete — convert block types or delete the current block from the context menu

Installation

Community Plugins

Open Settings → Community plugins → Browse, search Dragger, and install.

Manual

Download main.js, manifest.json, and styles.css from the latest release, then copy them into:

<your-vault>/.obsidian/plugins/dragger/

Restart Obsidian and enable the plugin.

Headless core package

Dragger also publishes a platform-agnostic npm core. It does not import Obsidian, CodeMirror, DOM events, or editor dispatch APIs.

npm install md-dragger

Stable entry points:

import { DraggerRuntime } from 'md-dragger/drag';

For another editor platform, provide only input, document access, line locating, and preview rendering:

new DraggerRuntime({
  input,
  document: { getDoc, applyChanges },
  locate: { sourceLineFromInput, targetLineFromPoint },
  preview,
});

Usage

  1. Hover on the left edge of any block to reveal the drag handle
  2. Drag the handle to the target position — a glowing indicator shows where the block will be inserted
  3. Release to drop the block into place

Nested lists & blockquotes: move the cursor horizontally while dragging to control indent level.

Multi-line selection: long-press (touch) or click multiple handles to select a range, then drag the entire selection. Press Escape to exit multi-select.

Mobile text long-press drag: when enabled, long-press a text line or rendered block content to drag a single block directly without reaching for the left handle.

Block type conversion: right-click a handle (desktop) or use the bottom toolbar (mobile) to convert block types or delete the current block.

💡 Tip: Enable line numbers in Obsidian settings for a better experience — the handle appears right at the line-number gutter.

Settings

Setting Description Default
Handle color Follow theme accent or pick a custom color Theme
Handle visibility Hover / Always visible / Hidden Hover
Handle icon ● Dot / ⠿ Grip-dots / ☰ Grip-lines / ■ Square Grip-dots
Handle size 12 – 28 px 20 px
Handle horizontal offset Shift handle left (−80) or right (+80) px 0 px
Indicator color Follow theme accent or pick a custom color Theme
Multi-line selection Enable range-select-then-drag workflow On
Mobile text long-press drag On mobile, long-press a text line or rendered block content to drag a single block directly On
Drag source visual style Shared style set used by drag-source and list-drop highlights (Outline only / Subtle highlight / Filled highlight) Subtle highlight
Drag source highlight Toggle highlight for the block being dragged On
List drop highlight Toggle highlight for list drop target area On

Compatibility

  • Obsidian ≥ 1.0.0
  • Desktop (Windows, macOS, Linux) + Mobile (Android tested)

Roadmap

  • Multi-column layout — drag blocks into side-by-side columns
  • More style customization — handle icons, colors, themes
  • Interaction refinements — better visual feedback, smoother gestures
  • Cross-document drag — move blocks between different notes

Development

npm install
npm run dev       # watch mode with hot reload
npm run build     # production build
npm run test      # run Vitest suite (229 tests)
npm run typecheck # TypeScript type checking
npm run lint -- --max-warnings=0

License

MIT

Contributing

PRs and issues are welcome!

If this plugin helps you, a ⭐ on GitHub would mean a lot.

Community

QQ Group WeChat Donate
QQ Group WeChat

Similar Plugins

info
• Similar plugins are suggested based on the common tags between the plugins.
Editing Toolbar
4 years ago by Cuman
An obsidian toolbar plugin, modified from the Cmenu plugin
Commander
2 months ago by jsmorabito
Customize your workspace by adding commands everywhere, create macros and supercharge your mobile toolbar.
Custom File Explorer sorting
4 years ago by SebastianMC
Take full control over the order and sorting of folders and notes in File Explorer in Obsidian
Calendar Bases
5 months ago by Edrick Leong
Adds a calendar layout to bases so you can display notes with dates in an interactive calendar view.
Flexplorer
2 months ago by kh4f
Enhance the file explorer with custom sorting, pinning, and hiding. - This plugin has not been manually reviewed by Obsidian staff.
Any Block
3 years ago by LincZero
You can flexibility to create a 'Block' by many means. It also provides many useful features, like `list to table`. (obsidian/markdown-it/vuepress plugin/app)
Beautitab
2 years ago by Andrew McGivery
A plugin for Obsidian.MD that creates a customizable new tab view with beautiful backgrounds, quotes, search, and more.
Plugin Groups
4 years ago by Mocca101
A plugin that allows you to easily group and manage your other plugins in Obsidian.
Markdown Tabs
a month ago by xhuajin
Create tabs in your notes.
Kanban Bases View
5 months ago by I. Welch Canavan
A kanban-style drag-and-drop custom view for Bases.
Unicode Search
3 years ago by BambusControl
Simple Unicode character search for Obsidian.md
Emoji Magic
3 years ago by simplgy
Makes it easier to add emojis using an improved keyword search
Natural Language Syntax Highlighting
3 years ago by artisticat
Highlight adjectives, nouns, adverbs, verbs, and conjunctions in Obsidian.md
Simple Banner
a year ago by Sandro Ducceschi
Visually enhance your Obsidian notes with a customizable banner. Supports icons and time/date display.
Simple Columns
a year ago by Josie
An Obsidian plugin that lets you create easily resizable and customizable columns in your notes.
Pixel Perfect Image
a year ago by Johan Sanneblad
Pixel perfect 100% image resizing, copy to clipboard, show image in Finder/Explorer, and much more.
Base Board
2 months ago by mderazon
This plugin has not been manually reviewed by Obsidian staff. Organize notes into Kanban boards using frontmatter properties. Drag and drop cards between columns powered by Bases.
New 3D Graph
a year ago by Aryan Gupta
Visualize your vault in 3D with a powerful, highly customizable, and filterable graph.
Code Block
4 years ago by Patrik Lindefors
Code block from selection
5 years ago by Dmitry Savosh
Obsidian plugin. Adds code block for the selected text.
Callout Integrator
3 years ago by
A plugin for Obsidian to allow the integration of long blocks of text into callouts.
Better MathJax
3 years ago by GreasyCat
Custom Classes
3 years ago by Lila Rest
A minimal Obsidian plugin that allows you to add your own HTML classes to chosen Markdown elements directly from your notes.
Auto Correct Capitals Misspellings
2 years ago by Ummel
This plugin automatically corrects words where the first two letters are capitalized and the rest are lower case.
Spellcheck Toggler
2 years ago by Julian Szachowicz
A plugin for Obsidian which gives you more control over the red-underline spellcheck behaviour.
Custom Theme Studio
10 months ago by @gapmiss
An Obsidian.md plugin to create and tweak custom themes with live CSS editing, element styling, and instant previews. All without leaving Obsidian.
Full Screen Toggle
3 years ago by Donkey Pacific
Fullscreen toggle plugin across all platforms for Obsidian.
Text Wrapper
4 years ago by smx0
Plugin for Obsidian
Metadata Icon
2 years ago by Benature
change metadata entry icon
Speech To Text Keyboard Helper
3 years ago by mwoz123
Root Folder Context Menu
3 years ago by mnaoumov
Obsidian Plugin that enables context menu for vault root folder
Pixel Pets
a year ago by Lucas Jin
Adds cute pixel pets to Obsidian.
Canvas Daily Note
2 years ago by Andrew McGivery
A plugin for Obsidian that allows you to add a daily note node to the canvas that will always show todays note.
Custom Slides
a year ago by David V. Kimball
Customize Obsidian's Slides core plugin's navigation, styles, and behavior.
Write Good
a year ago by Mark Hesketh
Obsidian plugin to help improve writing style
Proofreader
a year ago by pseudometa (aka Chris Grieser)
AI-based proofreading and stylistic improvements for your writing. Changes are inserted as suggestions directly in the editor, similar to suggested changes in word processing apps.
Set View Mode per Note
2 years ago by Alex Davies
Use YAML frontmatter to specify a view mode per note.
Nova
6 months ago by Shawn Duggan
Nova - AI plugin for Obsidian that edits your documents directly through natural conversation. Stop copying from chat, start collaborating with AI.
MantouAI
2 years ago by Morino Pan
MantouAI—— 让Obsidian变身智能助手
Are.na unofficial
3 years ago by 0xroko
Unofficial Are.na plugin for Obsidian
Tag Formatter
2 years ago by snsvrno
Configurable Obsidian plugin that hides parent tags.
Table Line Break Mobile
6 months ago by marcelflymark
Obsidian plugin: Insert a new line break inside a table cell using the <br> HTML element
Better Order List
2 years ago by Boninall
Expand Selection
4 months ago by Alex Tait
Expands the editor selection to lines, sections, or the entire note for convenience on mobile.
Rich Text Editor Shortcuts
2 years ago by Joshua Wootonn
Create and toggle checkboxes, paste links wrapping your current selection, and toggle underline without leaving the keyboard.
Hemingway Mode
2 years ago by Joaquín Bernal
Duplicate line
a year ago by Marcin Sztolcman
Plugin for Obsidian: duplicate current line, or selection.
Graphic Organizer
5 months ago by Nick Le Guillou - Superhuman Curiosity
Interactive tree view for visualizing and managing your vault's file hierarchy.
Auto Folder Note Paste
a year ago by d7sd6u
Convert your note into folder note upon pasting or drag'n'dropping an attachment
Variant Editor
a year ago by Kunal Jain
Obsidian plugin to create variants
Mode manager
a year ago by dk949
Better management of reading/editing modes in obsidian
Edit Link Alias
7 months ago by mnaoumov
Obsidian Plugin that adds edit link alias command.
AI Revisionist
2 years ago by Synaptic Labs
Editing Mode Hotkey
2 years ago by Signynt
Obsidian plugin to change the default editing mode (between Live Preview and Source) using a command or hotkey
My SVGs
7 months ago by Omar Badawy
An Obsidian plugin that Registers your own SVGs into Obsidian's global icon library for use with other plugins or however you want.
Regex Line Filter
a year ago by 64MM4-KN1F3
A note filtering plugin for Obsidian
Bitcoin Block Stamp
2 years ago by sefiro
Stamp your Obsidian notes with the current Bitcoin block.
Select word
2 years ago by Connor Espino
Remove Unused Block IDs
2 years ago by Daniel Geneta
A simple plugin that removes unused block IDs for Obsidian.md
Budget Planner
18 days ago by kalinichenko88
A minimalist budget planning tool. Create, track, and manage budgets using markdown code blocks directly in your notes. - This plugin has not been manually reviewed by Obsidian staff.
Quick Nav
a year ago by exoticknight
Enhance your editing experience by unleashing the hidden power of shortcuts.
WebDAV Explorer
5 months ago by 蓝星晓夜
WebDAV Explorer: Connect to WebDAV server, preview files directly in web view, and generate links through simple drag-and-drop.
Yori Task
3 months ago by yorigo77
This plugin has not been manually reviewed by Obsidian staff. Task manager, week planner, year planner.
Side-Notes
11 days ago by Fried Fishsticks
Adds ability to create sidenotes in Obsidian with incrementing numbers. - This plugin has not been manually reviewed by Obsidian staff.