Filename Checker
approvedby yueyinfeng
Finds duplicate Markdown filenames in configured folders after ignoring filename prefixes. - This plugin has not been manually reviewed by Obsidian staff.
Filename Checker
Filename Checker is an Obsidian plugin that finds duplicate Markdown filenames in configured folders after ignoring filename prefixes.
It is useful when notes use IDs, serial numbers, or other prefixes but should still be checked by their readable names.
Features
- Check the folder of the active note.
- Pick a configured folder and check it manually.
- Compare only direct Markdown files in the selected folder.
- Ignore filename prefixes with a simple wildcard pattern.
- Save the result as a Markdown report and open it automatically.
Installation
Community Plugins
After the plugin is accepted into the Obsidian community plugin directory:
- Open Obsidian Settings.
- Go to Community plugins.
- Search for Filename Checker.
- Install and enable the plugin.
Manual Installation
- Download
main.jsandmanifest.jsonfrom a GitHub release. - Create a folder named
filename-checkerinside your vault's.obsidian/plugins/folder. - Put
main.jsandmanifest.jsonin that folder. - Reload Obsidian and enable Filename Checker in Community plugins.
Usage
Open the plugin settings and add one or more target folders. Each folder needs:
- Target folder: the vault-relative folder path.
- Wildcard: the filename pattern to remove before comparing names.
The plugin adds two commands:
- Check duplicate filenames in the current file folder.
- Pick a configured folder and check duplicate filenames.
After each check, the plugin creates a report named like:
文件名重复检查_2026-07-25T12-30-00.md
If the configured result folder does not exist, the report is saved in the vault root.
Wildcard Examples
The wildcard pattern removes the matched part from each filename, then compares the remaining filename.
For example, with wildcard *_:
GS001_Example.md -> Example.md
GS002_Example.md -> Example.md
These two files are reported as duplicates.
Other examples:
*_ removes everything through the matched underscore
GS* removes the part matched by GS*
GS*_ removes the part matched by GS*_
Filename Checker only checks direct Markdown files in the configured folder. It does not scan subfolders in the first release.
Privacy
Filename Checker does not connect to the network, does not collect telemetry, and does not read files outside your Obsidian vault. It only reads Markdown filenames in the folders you configure and writes Markdown report files inside your vault.
Development
Install dependencies:
npm install
Build the plugin:
npm run build
For development watch mode:
npm run dev
Release assets for Obsidian are:
main.jsmanifest.json
The GitHub release tag must match the version field in manifest.json exactly, for example 1.0.0.
License
MIT
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.