Zzzzz

unlisted

by 0xb01

Check for unlinked, orphaned, and broken files in your vault

Updated 20d agoMIT
View on GitHub

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

  1. Download the files from Release.

  2. You should have a folder called "Zzzzz" with these files inside:

    • manifest.json
    • main.js
    • styles.css
  3. Go to your Obsidian vault:

    • Open your vault folder
    • Go to .obsidian/plugins/ (create the plugins folder if it doesn't exist)
  4. Put the files there:

    .obsidian/plugins/zzzzz/
    ├── manifest.json
    ├── main.js
    └── styles.css
    
  5. Enable the plugin:

    • Open Obsidian
    • Go to SettingsCommunity plugins
    • Click Refresh (if you need to)
    • Find Zzzzz in the list
    • Turn it ON
  6. Start using it:

    • Click the 🔍 icon in the left sidebar
    • Or press Ctrl/Cmd + P and search "Zzzzz"

How to Use

Basic Steps

  1. Start a Scan

    • Click the 🔍 icon in the left sidebar
    • Or use Command Palette (Ctrl/Cmd + P) and search "Zzzzz"
  2. 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
  3. 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
  4. 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 links
  • file:// - 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

  1. Get the code:

    git clone https://github.com/0xb01/Zzzzz.git
    cd Zzzzz
    
  2. Install dependencies:

    npm install
    
  3. Build the plugin:

    npm run build
    
  4. Copy to your vault: Put these files in <your-vault>/.obsidian/plugins/zzzzz/:

    • manifest.json
    • main.js
    • styles.css
  5. 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.