Bulk Tag Manager
pendingby DuckTapeKiller
Bulk convert all tags in your vault to lowercase, verify stats, and generate tag lists.
Bulk Tag Manager
Bulk Tag Manager is a comprehensive tag management utility for Obsidian. It provides a unified, professional dashboard to rename, merge, standardize, and organize tags across your entire vault.
[!IMPORTANT] I have added actions history and an "undo" option, so if you make a mistake, you can revert any actions performed with this plugin.
Features
๐ Dashboard Overview
The plugin features a clean, boxed dashboard interface broken down into logical sections.
Tag Statistics
At the top of the dashboard, expand the Overview section to see:
- Total Tags: Count of unique tags in your vault.
- Affected Files: Number of notes containing tags.
- Inline Tags: Notes containing tags in the body text (e.g.
#tag). - Nested Tags: Notes containing hierarchical tags (e.g.
#parent/child). - Location: Breakdown of frontmatter vs. body tags.
Clicking any statistic opens a detailed list of the relevant files.
๐ท๏ธ Rename & Merge
Tag Renaming
Rename any tag across all files (Frontmatter & Inline).
- Go to the Rename Tag section.
- Enter the Find tag (or use the Search button to browse).
- Enter the Replace tag.
- Click Rename.
Automatic nesting support: Renaming
#projectwill also update#project/task.
Tag Merging
Consolidate synonyms into a single tag.
- Go to the Merge Tags section.
- Enter Source tags (comma-separated, e.g.
#film, #movie). - Enter Target tag (e.g.
#cinema). - Click Merge.
Pattern-Based Renaming (Regex)
Advanced restructuring using Regular Expressions.
- Go to Pattern Rename.
- Enter a Pattern (e.g.,
^category-(.*)). - Enter a Replacement (e.g.,
new-category/$1). - Click Apply.
๐งน Bulk Standardization & Settings
Conversion Rules
Configure how tags should be formatted vault-wide:
- Case Strategy: Lowercase, Uppercase, or No Change.
- Separator Style: Snake_case, Kebab-case, or Preserve.
- Remove Special Characters: Strip non-alphanumeric characters.
- Apply to Nested Tags: Whether to process child tags.
Scope Filtering
Limit operations to specific parts of your vault.
- Enable Scope Filter.
- Use Include to specify folders to process (e.g.,
Items/Active). - Use Exclude to protect specific folders (e.g.,
Templates,Archive).
Fix Invalid Formats
Click Fix Invalid (Check Square icon) to detect and repair malformed tags in frontmatter (e.g., missing commas, invalid spaces).
๐ ๏ธ Tools & Utilities
- ๐ฒ Hierarchy View: Visualize your tags as a collapsible tree to understand your taxonomy.
- ๐ Orphan Detection: Find tags with low usage (configurable threshold) to identify clutter.
- ๐ Tag List: Generate a markdown file (
All Tags.md) listing every tag and its usage count. - ๐ History & Undo: Every operation is recorded. Click History to view a log of changes and Undo any operation to revert files to their previous state.
โก Tag Aliases
Define automatic correction rules in Settings.
- Go to Settings โ Bulk Tag Manager โ Aliases.
- Add an Alias (e.g.
wip) and a Canonical tag (e.g.work-in-progress). - Whenever you save a note with
#wip, it automatically converts to#work-in-progress.
Installation
- Download the latest release from GitHub.
- Extract
main.js,manifest.json, andstyles.cssinto<vault>/.obsidian/plugins/bulk-tag-manager/. - Reload Obsidian and enable the plugin.
Usage
- Click the Tags icon in the left ribbon.
- Or use Command Palette:
Bulk Tag Manager: Open Tag Manager Dashboard.
Commands
| Command | Description |
|---|---|
Open Tag Manager Dashboard | Opens the main interface |
Convert all tags (with preview) | runs bulk conversion based on settings |
Undo Last Tag Operation | Quick undo |
Find Orphaned Tags | Scan for unused tags |
Tips
- Use Preview: The bulk convert option offers a preview of changes.
- Check History: Use the History modal to verify exactly what files were changed.
- Scope Filters: Use them to test operations on a sandbox folder first.
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.