Note Mover Rules

approvedunreviewed

by siulved54

Move notes into folders by ordered rules on tags, properties, titles and paths, with a preview before any bulk move.

↓ 29 downloadsUpdated 7d agoMIT

Note Mover Rules

Move notes into folders by ordered rules on tags, properties, titles and paths, with a preview before any bulk move.

The preview: four notes from the inbox ready to move to Recipes, Journal and Archive, one note that stays because a note with that name is already there

Write the rules once and let them file your notes. Nothing moves until you ask (or turn on automatic moving), a bulk move shows you every move first, and every move can be undone.

Rules

A rule has a condition and a destination folder. A note goes to the folder of the first rule that matches it, checked from the top, so put the specific rules first.

ConditionMatches
TagA tag, nested tags included: #project matches #project and #project/alpha, not #projects. Body tags and the tags property both count.
PropertyA property equal to a value (ignoring case), or one item of a list property. Leave the value empty to match any note that has the property filled in.
Title matchesA regular expression tested against the note's name, ignoring case. ^\d{4}-\d{2}-\d{2}$ matches daily notes.
Path matchesA regular expression tested against the whole path, for example ^[^/]+\.md$ for notes in the vault root.

The settings: three rules, each with a condition and a folder

Things that keep it from surprising you:

  • A note already inside the destination folder (or one of its subfolders) stays where it is, and a rule that matches it stops later rules from moving it.
  • A note is never overwritten: if a note with that name is already in the destination, it stays and the preview lists it separately.
  • Two rules that would send a note back and forth (a path rule matching the new folder, say) never move it: the preview lists it as staying.
  • Notes in an excluded folder (Templates by default, names compared ignoring case) never move, and neither does a note with note-mover: disable in its properties.
  • A rule with a problem (an invalid regular expression, an empty tag) says so in the settings and never matches.
  • The destination folder is created if it does not exist, unless you turn that off.

Folders built from the note

A destination can hold placeholders, so one rule files notes by year, project or type:

PlaceholderBecomes
{{date:YYYY/MM}}The note's date in any Moment format. It comes from the property named in the rule's Date from property field when that holds a date such as 2026-10-09; otherwise from the note's creation time.
{{property:project}}The property's value; the first item of a list; [[links]] without the brackets.
{{tag}}The tag that made a tag rule match, with nested tags kept as folders: #project/alpha gives project/alpha.
{{title}}The note's name.
{{parent}}The name of the folder the note is in now.

For example, Journal/{{date:YYYY/MM}} sends a note created in October 2026 to Journal/2026/10, and Projects/{{property:project}} sends a note with project: Apollo to Projects/Apollo. Under a rule with placeholders the settings show what the destination comes to for the note you have open.

  • Values are made safe for folder names: \ / : * ? " < > | are removed or replaced, leading and trailing dots and spaces are dropped, and .. never survives.
  • If a placeholder comes out empty (no such property, no date, no matching tag), the rule does not move that note, and later rules do not take it either. The preview lists it under "Will stay" as, for example, "skipped: empty {{property:project}}".
  • The creation time is the file's, and copying or syncing a vault can reset it. For a date that must not change, put it in a property and name that property in the rule.
  • The preview with its checkboxes, undo, Create missing folders, moving by itself and excluded folders all work with placeholders. A note already inside its resolved folder stays.

Commands

CommandWhat it does
Move this note by the rulesMoves the open note now, or tells you why it stays.
Preview moves for the notes in this folderLists every move for the notes in the open note's folder (subfolders included) with a checkbox for each. Nothing moves until you press the button.
Preview moves for every noteThe same for the whole vault.
Undo the last movePuts the last batch back; run it again to step back through earlier batches (the last 20). A note that was moved again or whose old place is taken stays where it is.

There is also a Move notes by the rules item in the file explorer's folder menu.

Moves use Obsidian's own rename, so links to the moved notes update as usual. Turn on Automatically update internal links in Settings → Files and links first: otherwise Obsidian asks about links once per note that has links to it, after each move. The preview warns you when it is off.

Moving by itself

Turn on Move notes by themselves and a note that is edited or renamed and now matches a rule moves two seconds later, so a half-typed tag does not send it away. It is off by default. If the destination already has a note with that name, you get one notice and the note stays. A note you put back with undo is not moved by itself again, and for five seconds after a move the plugin ignores edits (Obsidian rewriting links in other notes), so a move never sets off more moves.

Coming from Auto Note Mover

The rules work the same way (first match wins, a tag or a title regular expression picks the folder), plus properties and paths, a preview before bulk moves and undo. Rules are not imported; they take a minute to re-enter. note-mover: disable in the properties replaces Auto Note Mover's AutoNoteMover: disable.

Privacy

It reads your notes' tags, properties and names to match rules and moves files inside your vault. It makes no network requests and sends nothing anywhere.

Installation

In Obsidian, open Settings → Community plugins → Browse and search for "Note Mover Rules".

More plugins by Siulved54

PluginWhat it doesSource
Shared BlocksWrite a block of text once and reuse it in any note. Edit the source and every reference re-renders live.shared-blocks
Text Case and CleanupChange case, make camelCase or slugs, sort lines and remove duplicates, and repair text pasted out of a PDF, without touching code or URLs.text-format
Typography as You TypeCurly quotes, dashes and ellipses as you type, kept out of code and maths, with Backspace to take one back.smart-typography-plugin
Section NumberingNumber headings as an outline (1, 1.1, 1.2) and keep every link to them working when they renumber.section-numbering
Spreadsheet to TablePaste cells from Excel or Google Sheets as a Markdown table with a real header, insert CSV files, and copy tables back out.spreadsheet-to-table
Hybrid Line NumbersRelative and hybrid line numbers for Vim-style jumps, where a folded section counts as one line.hybrid-line-numbers
List Item CalloutsColour a single list item as a callout by starting it with a character such as &, ! or ?.list-item-callouts
Folder CountsSee how many notes or files each folder holds, right in the file explorer, with a vault total and folder exclusions.folder-counts
Note Reading TimeReading time of the current note or your selection in the status bar, optionally saved to a property.note-reading-time
Task RolloverRoll unfinished tasks from your last daily note into today's when it is created, with a real undo.task-rollover
Zoom Into SectionZoom into a heading or list item to see only it and its contents, with a breadcrumb bar to climb back out.zoom-into-section
Link Title on PastePaste a web address and get a Markdown link with the page's title, fetched in the background and undone in one step.link-title-on-paste
Update RadarChecks your installed community plugins for updates in the background, shows what changed, and flags the ones that look abandoned.community-update-checker
Dataview to BasesConvert Dataview queries into Bases blocks, and see which queries in your vault can be converted.dataview-to-bases
Line Editing CommandsDuplicate, join, sort and reverse lines, insert blank lines and jump to a line number, with multi-cursor support.line-editing-commands
Tab HistoryKeeps each tab's back and forward history across restarts, and adds commands to move, maximize and close tabs.tab-history
URL CardsShows web addresses as cards with title, description and image, and reads existing cardlink blocks.url-cards
Vim ConfigLoads a vimrc-style file from your vault so your key mappings and editor commands are ready when vim mode starts.vim-config
Task ArchiveMoves completed tasks, with their sub-items, into an archive section or note.task-archive
Revisit LaterLink the current note into a future daily note, with a date typed in plain English, so it comes back when you want to review it.revisit-later
Explorer Colors PlusColor files and folders in the file explorer, with a palette, cascading to children, and import from File Color.explorer-colors-plus
Book LookupCreate book notes from Open Library or Google Books, with cover images, ISBN search and Book Search compatible templates.book-lookup
Web Search MenuSearch the web for selected text or the note title from the right-click menu, with engines you define.web-search-menu

All of them are in the community directory: Settings -> Community plugins -> Browse, then search for the name.

For plugin developers

Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.