Zzzzz
unlistedby 0xb01
Check for unlinked, orphaned, and broken files in your vault
Zzzzz
Keep your Obsidian vault clean by finding files that need attention.
What is this?
Zzzzz is a plugin that helps you find problematic files in your Obsidian vault. It scans your notes and finds three types of issues:
- Orphaned Files - Notes that nothing links to (they're just sitting there alone)
- Broken Links - Notes that have links to files that don't exist
- Unlinked Mentions - Notes that are mentioned in other notes but not linked (you could link them)
After scanning, you can review the files, filter the results, and do something about it—delete files you don't need, move them to an archive folder, or tell the plugin to ignore certain types of links.
Good for cleaning up your vault every now and then.
What can it do?
Scanning
- Finds orphaned files - Notes with no incoming links
- Finds broken links - Wiki links
[[like this]]that point to nothing - Finds unlinked mentions - When you write a note title but don't link it
Filtering
- By file type - Show all files, just markdown notes, or just images
- By category - Show only orphaned, only broken links, or everything
- By property - Skip files with certain frontmatter (like
status: archived) - Search - Type to find specific files in the results
- Sort - By name or path, A-Z or Z-A
- Hide paths - Show just filenames instead of full paths
Taking Action
- Select files - Use checkboxes, or select all at once
- Delete - Remove files you don't want
- Archive - Move files to a folder (like
Old/Archive) instead of deleting - Exclude links - Click a button to ignore certain broken links (like
mailto:links)
Other Stuff
- Saves your scan - If you close it accidentally, you can restore the results (within 30 minutes)
- Remembers your settings - Your filters and preferences stick around
- Shows progress - See which file is being scanned and cancel if it's taking too long
- Warns you - If you try to delete a file that other notes link to, it'll ask first
Installation
-
Download the files from Release.
-
You should have a folder called "Zzzzz" with these files inside:
manifest.jsonmain.jsstyles.css
-
Go to your Obsidian vault:
- Open your vault folder
- Go to
.obsidian/plugins/(create thepluginsfolder if it doesn't exist)
-
Put the files there:
.obsidian/plugins/zzzzz/ ├── manifest.json ├── main.js └── styles.css -
Enable the plugin:
- Open Obsidian
- Go to Settings → Community plugins
- Click Refresh (if you need to)
- Find Zzzzz in the list
- Turn it ON
-
Start using it:
- Click the 🔍 icon in the left sidebar
- Or press
Ctrl/Cmd + Pand search "Zzzzz"
How to Use
Basic Steps
-
Start a Scan
- Click the 🔍 icon in the left sidebar
- Or use Command Palette (
Ctrl/Cmd + P) and search "Zzzzz"
-
Pick what to scan
- Check the boxes for what you want to find (orphaned, broken links, unlinked mentions)
- Pick a folder to scan, or leave it as "All folders"
- Click Scan
-
Look at the results
- See how many issues were found
- Use the filters to narrow it down
- Search for specific files
- Sort by name or path
-
Do something about it
- Check the files you want to deal with
- Pick Delete or Archive from the dropdown
- Click Apply to Selected
- If a file has incoming links, it'll ask if you're sure
Tips
- Click on a file name to see what's wrong with it
- Click ⊕ Exclude next to a broken link to ignore that type of link
- Hide paths if the file names are enough
- Filter by property to skip files you don't care about (like archived stuff)
- Restore previous scan if you close it by accident (works for 30 minutes)
Broken Link Exclusions
By default, these are ignored:
mailto:- Email linksfile://- Links to files on your computer
You can add more in Settings → Zzzzz → Broken Link Exclusions
Examples:
^https?://- Ignore all web links^ftp://- Ignore FTP links^data:- Ignore data URIs
The ^ just means "starts with".
Development
Want to change something? Here's how to set it up.
What You Need
- Node.js (v16 or higher) - Get it here
- npm (comes with Node.js)
- Git (optional)
Setup
-
Get the code:
git clone https://github.com/0xb01/Zzzzz.git cd Zzzzz -
Install dependencies:
npm install -
Build the plugin:
npm run build -
Copy to your vault: Put these files in
<your-vault>/.obsidian/plugins/zzzzz/:manifest.jsonmain.jsstyles.css
-
Enable it in Obsidian (see Installation section)
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.