How to Bulk Rename Obsidian Files Without Breaking Every Link

Rafael Pinheiro

Rafael Pinheiro

Rafael Pinheiro is founder of Ottic, building AI-native editorial infrastructure that helps companies turn expertise into scalable, high-quality content engines optimized for Google and AI search. Previously, he was founder of Clipping, an education platform focused on high-performance learning, where he led growth, product, and content at scale.

You imported 3,000 notes from another app. The filenames look like SDT p2313 SDT and DNA db60e6524e3a463a8990ec8d1135d870. You want clean names. So you reach for a bulk rename tool, run it across the folder, and open Obsidian to find hundreds of broken links staring back at you.

This is one of the most common “oh no” moments in Obsidian. The app is built on links between notes — [[wikilinks]] that connect your thinking together. (If you need a refresher on Obsidian’s link syntax, our Obsidian Markdown cheatsheet covers every format you’ll run into.) But those links are just text pointing to filenames. Change the filename outside of Obsidian, and the link has no idea where to point anymore.

“I see it as a major flaw of an otherwise outstanding note management software.” — BigSpaces, Obsidian Forum

The good news: there are ways to rename hundreds or thousands of files and keep everything connected. This guide covers what works, what breaks, and which approach fits your situation.

Key Takeaways

  • Renaming files outside Obsidian breaks every link pointing to those files — the app only updates links when you rename through its own interface
  • The Bulk Rename plugin handles batch renames inside Obsidian and updates links automatically, but requires learning its regex interface
  • Chaining external tools (rename first, then find-and-replace the links) works but is fragile and error-prone
  • AI tools like Desktop Commander let you describe renaming patterns in plain English and handle both filenames and link updates in one step

Why Renaming Outside Obsidian Breaks Everything

When you rename a note through Obsidian — clicking the title and typing a new name — the app scans your entire vault and updates every [[link]] that pointed to the old name. It’s automatic and reliable.

But Obsidian can only do this when it knows a rename happened. If you use Finder, File Explorer, a terminal command, or any external bulk rename tool, Obsidian never gets that signal. As one user explained:

“In order to have Obsidian update your links, you have to rename the file within Obsidian.” — I-d-as, Obsidian Forum

This creates a two-part problem that trips up almost everyone:

Part 1 — The filenames. You need to rename the actual files on disk, following some pattern (add a prefix, change a date format, remove junk characters).

Part 2 — The references. Every other note that links to a renamed file needs its link text updated to match the new filename.

Obsidian handles both parts together when you rename one file at a time. But it has no built-in way to rename files in bulk. So you’re stuck: rename externally and break links, or rename one by one and spend hours clicking.

“Making a name change within Obsidian updates the text in links to that file. With an external bulk editor you have to remember to change both file names and the relevant text in the files.” — Dor, Obsidian Forum

The Bulk Rename Plugin

The closest thing to a built-in solution is the Bulk Rename plugin by Oleg Lustenko. (It’s one of the best Obsidian plugins for vault maintenance.) It runs inside Obsidian, which means it uses Obsidian’s own renaming function — and that means links update automatically.

What it can do:

  • Rename files by folder (target a specific directory)
  • Rename files by tag (find everything with #journal and rename — see our guide on using tags in Obsidian for best practices)
  • Use regex patterns for advanced transformations
  • Preview every change before applying it

How to use it: 1. Install from Settings > Community Plugins > search “Bulk Rename” 2. Open the plugin panel 3. Choose your search method (folder, tag, or regex) 4. Type the pattern you want to find and what to replace it with 5. Click Preview to see the results, then Rename to apply

For straightforward renames — adding a prefix, removing a suffix, changing a separator — the plugin works well. One user working with MOC (Map of Content) notes reported it “works perfectly” for adding labels to batches of files. — ryadaj, Obsidian Forum

Where it gets tricky:

The plugin speaks regex. For simple swaps (replace “meeting” with “mtg”), that’s no barrier. But for complex patterns — like stripping random IDs from imported filenames — you need to construct the right regex expression. One user trying to clean up 3,000 imported notes admitted: “I am not good with RegEx and Claude-2 is writing me complete bullshit instructions.” — svr, Obsidian Forum

That’s a common wall. You know what you want (“remove everything after the first word”), but translating that into a regex pattern like ^(.+?)\s+p\d+\s+.+$ isn’t something most people can do without help.

CapabilityBulk Rename Plugin
Renames files in batchYes
Updates links automaticallyYes
Regex supportYes
Preview before applyingYes
Works with large vaults (5K+ notes)Can be slow
Easy for non-technical usersNo — requires regex knowledge
Handles complex patterns (dates, IDs, conditional)Limited by your regex skill

The Multi-Tool Workaround

When the Bulk Rename plugin doesn’t fit — or when you’ve already renamed files externally and need to fix the damage — people chain multiple tools together.

The most common approach, shared across dozens of forum threads:

  1. Rename the files using an external tool (PowerRename on Windows, NameChanger on Mac, or terminal commands)
  2. Open the vault in VS Code and use its “Find and Replace in Files” (Cmd+Shift+H) to update every broken link

One user who renamed thousands of Bible study notes described this process:

“I ended up using a combination of tools: NameChanger to do a simple find and replace of the file/note names, VS Code to find and replace the links inside the files/notes.” — Rostehea, Obsidian Forum

It works, but it’s fragile. You’re doing the same operation twice (once for filenames, once for link text), and if the patterns don’t match exactly, you’ll miss references or create new broken links. There’s also no undo — if something goes wrong halfway through, you’re left with a vault where some links are updated and others aren’t.

Some users chain even more tools together. One forum solution involves three plugins working in sequence — Multi Tag to mark files, Auto Note Mover to relocate them, then manual cleanup. Three plugins for what should be one operation.

Try Desktop Commander App

Desktop Commander reads your files, runs commands, and automates workflows — all in natural language.

Download Free

The Scenarios That Bring People Here

Reading through the forum threads, the same situations come up again and again: cleaning up 3,000 filenames after importing from another app (svr on the forum needed to strip random IDs from every filename), changing a naming convention mid-vault (abbreviated names like 1cor15 becoming 1 Corinthians 15 — Rostehea’s experience), adding prefixes like MOC - to batches of notes (ryadaj’s use case), renaming attachments to match the notes they belong to (andy4222’s request), and switching date formats so calendar plugins stop breaking (Alcesdatae’s problem).

Every one involves the same challenge: rename the file, then find and update every reference to it across the vault. It’s a core pain point for anyone building a serious knowledge management system around Obsidian.

Letting AI Bulk Rename Obsidian Files

The core problem with every approach above is that renaming is actually two operations — change the filename, then update the references — and you have to coordinate them perfectly. Miss one link and you’ve got a broken connection hiding somewhere in your vault.

Desktop Commander takes a different approach. Instead of separating the two operations, you describe what you want in plain English, and the AI handles the filenames and the link updates together.

Your Obsidian vault is just a folder of markdown files on your computer. Desktop Commander connects an AI assistant (like Claude) to your local files through something called an MCP server, so it can read your notes, understand the link structure, and make changes to both filenames and file contents in one pass.

Desktop Commander for Bulk renaming Obsidian Files

Clean up imported filenames:

“In my Obsidian vault, I have notes with names like 'SDT p2313 SDT'. Strip the middle part (the 'p' followed by numbers) and the repeated word at the end. So 'SDT p2313 SDT' becomes 'SDT'. Update all links in other notes that pointed to the old names.”

No regex required. You describe the pattern in words, and the AI figures out how to match it.

Change a naming convention:

“My daily notes are named like '01-15-2024'. Rename them all to '2024-01-15' format. Update every link across the vault that references the old names.”

Add a prefix based on content:

“Find every note in my vault that contains the tag #moc. Add 'MOC -' to the beginning of its filename. Update all links.”

Rename attachments to match their parent notes:

“For each note in my vault, find the images it references. Rename each image to match the note’s name plus a number (like 'ProjectAlpha_1.png', 'ProjectAlpha_2.png'). Update the references inside the note.”

That last one is something no plugin handles. It requires reading each note, finding its image references, generating new names based on the note’s own filename, renaming the image files, and updating the markdown references — all coordinated across the entire vault. If you want to see more examples of what AI-powered file management looks like, our guide on managing your Obsidian knowledge base with AI goes deeper.

Getting started

  1. Download Claude Desktop (free) — our Claude MCP setup guide walks through the full process
  2. Install Desktop Commander from desktopcommander.app
  3. Tell Claude where your vault folder is
  4. Describe the rename you want — Claude will show you what it plans to do before making changes

The prompt library includes templates for file organization and renaming tasks that adapt well to Obsidian workflows.

Try Desktop Commander App

Desktop Commander reads your files, runs commands, and automates workflows — all in natural language.

Download Free

Before You Rename Anything: A Safety Checklist

Bulk renaming hundreds of files is powerful but permanent. Take two minutes before you start:

Back up your vault. Copy the entire folder somewhere safe, or if you use git, run a quick commit: git add . && git commit -m "before rename". If something goes wrong, you can restore everything in seconds.

Start small. Whatever method you choose, test it on 5-10 files first. Make sure the rename pattern and link updates work the way you expect before running it across thousands of notes.

Check for edge cases. Do any of your filenames contain special characters? Do some notes use aliases in their links (like [[old name|display text]])? These details can trip up simple rename patterns.

Keep Obsidian’s File Recovery on. Settings > Core Plugins > File Recovery. It saves snapshots of your notes automatically. Not a full substitute for a backup, but an extra safety net for individual files.

Community Discussions

These forum threads go deeper into specific rename scenarios and community-built workarounds:

Frequently Asked Questions

Can I rename a file in Finder or File Explorer without breaking links?▾
No. Obsidian only updates links when the rename happens through its own interface. Rename a file externally, and every [[link]] pointing to the old filename breaks.
How many files can the Bulk Rename plugin handle?▾
No hard limit, but it slows down on very large vaults. A few hundred files with a simple pattern works fine. Thousands of files with complex regex may cause Obsidian to hang.
What happens to aliases when I rename a file?▾
Obsidian updates the link target but keeps your display text. [[old name|My Custom Text]] becomes [[new name|My Custom Text]]. External tools won’t handle aliases at all.
I already renamed files externally and my links are broken. How do I fix them?▾
Open your vault folder in VS Code and use “Find and Replace in Files” to update every [[old name]] to [[new name]]. Desktop Commander can also scan your vault, identify broken references, and fix them based on your description.
Do I need to know regex to use the Bulk Rename plugin?▾
For simple renames (swap one word for another, add a prefix), no. For patterns involving dates, IDs, or variable-length strings, yes. Desktop Commander lets you describe the pattern in normal sentences instead.
Can Desktop Commander help with other Obsidian vault tasks beyond renaming?▾
Yes. Anything you can describe, it can do — reorganizing folders, building an AI knowledge base from your notes, bulk-editing frontmatter, or cleaning up orphaned attachments. It works on any local files, not just Obsidian.