Lars Bücker7k downloadsQuickly and easily move notes to a predefined folder. Perfect for organizing your notes.
Automatically move notes into the right folders — based on tags, frontmatter properties, filenames, dates, links, and more. Set your rules once, and let the plugin keep your vault organized.
Requires Obsidian 1.5.0 or newer. Works on desktop and mobile.
Most Obsidian users hit the same wall: notes pile up in the inbox. Manually dragging them to the right folder every time is tedious and easy to skip. Advanced Note Mover lets you describe where each type of note belongs using rules — then moves them for you, automatically or on demand.
#project/active? → Projects/Active/client property set to Acme? → Clients/Acme/Notes/Templates/? → never touched, protected by a blacklist filterRules are evaluated in order. The first one that matches wins. Everything else stays put.
1. Protect what should never move
Open Settings → Community plugins → Advanced Note Mover → Filter and add a line:
path: Templates
This blocks any note under your Templates/ folder from ever being moved.
2. Create your first rule
Go to Rules → Add rule. Give it a name, then:
tag → includes item → #inboxInbox3. Test it before committing
Open a matching note and run Preview active note movement from the command palette. This shows exactly where the note would go — without moving anything.
4. Move a single note
Run Move active note to note folder from the command palette (or click the ribbon icon). A notification appears with an Undo link if you want to reverse it.
5. Move everything
Run Preview bulk movement for all files first to review what would happen across your whole vault, then Move all files in vault to execute.
Each rule has a name, a destination folder, and one or more trigger conditions. Rules are checked in order — the first active rule whose conditions match wins.
Conditions can be combined with:
Match notes on almost any piece of metadata:
| Criteria | Examples |
|---|---|
| Tag | #project/active, any tag containing work |
| Frontmatter property | status = done, priority > 2, client = Acme |
| File name | ends with meeting.md, matches regex |
| Parent folder | starts with Inbox |
| Created / modified date | modified today, created before 2025, modified on a Monday |
| Wiki links | note links to a specific MOC |
| Embeds | note embeds a specific file |
| Headings | any heading contains Summary |
| File extension | canvas, md, base |
Full criteria and operator reference →
Instead of a static folder path, use {{tag.…}} and {{property.…}} placeholders to build the destination from the note's own metadata. Date properties also support components such as Archive/{{property.created.year}}:
Clients/{{property.client}}/Notes
Projects/{{property.year}}/{{tag.project}}
Archive/{{property.created.year}}/{{property.created.month}}
The placeholder resolves at move time — if the note has client: Acme in its frontmatter, it goes to Clients/Acme/Notes. If the value is missing, the note is not moved.
Filters run before any rules. If a note matches any filter, it is excluded from all moves — manual, bulk, and automatic.
path: Templates ← block anything under Templates/
tag: #never-move ← block notes with this tag
fileName: Daily*.md ← block files matching a glob pattern
property: status:draft ← block drafts
content: DO NOT MOVE ← block notes containing this text
Every move command has a Preview counterpart. Preview shows you a list of files and their planned destinations — without touching anything. Use it to validate rules before a bulk move.
Every move is recorded in history. For single-file moves, an Undo link appears in the notification. For bulk moves, open Show history from the command palette to review and undo past batches.
Set notes to move themselves:
Both options are off by default — enable them in Settings → Triggers.
When a note moves, its referenced attachments (images, PDFs, etc.) can move with it. The plugin preserves relative paths — so if your images live in an _assets/ folder next to your note, they'll appear in an _assets/ folder beside the note's new location. Optionally, empty source attachment folders are cleaned up after the move.
Enable in Settings → Attachments → Move attachments with note.
.canvas and .base files are treated as movable alongside Markdown notes. Active-file commands and bulk/periodic passes include them. For canvas files, tag/property/link rules also consider cards inside the canvas (text you create on the board and notes you embed as file cards). For base files, use fileName, folder, or extension rules.
Export your entire settings as JSON to back them up or share them with another vault. Import settings to restore or transfer a configuration.
| Getting started | Setup walkthrough, recommended workflow, safety tips |
| Rules and triggers | Rule structure, evaluation order, aggregation, and metadata |
| Criteria and operators | Every trigger type and operator, with examples |
| Destination templates | {{tag.…}} and {{property.…}} syntax and resolution |
| Blacklist filters | Filter line syntax and all supported filter types |
| Commands and automation | All commands, on-edit/periodic triggers, preview, caching |
Contributions are welcome. See CONTRIBUTING.md for development setup, branch workflow, and review expectations.
| Script | Purpose |
|---|---|
npm run dev |
Development build (esbuild, watch mode) |
npm run build |
Typecheck + production bundle |
npm run test |
Run test suite (Vitest) |
npm run lint |
ESLint |
npm run format |
Prettier |
MIT — see LICENSE.