Vault Audit: Health Report for Your Notes
Drop a notes folder and get one health dashboard: orphan notes, stale notes, stub notes, unused attachments, and frontmatter issues, plus a shareable score.
Drop your vault folder here
or choose a folder from your computer.
Every file is listed; only text notes and small text files are read. Nothing is uploaded. Files are read entirely in your browser.
Overview
A vault audit scans every note and attachment in a folder and reports five problems at once: orphan notes with no links in or out, stale notes untouched for months, stub notes under a word count, attachments no note embeds, and frontmatter keys that collide on casing or type. Everything rolls into one 0 to 100 health score you can share without sharing your notes.
How it works
- 1Drop your vault folder onto the tool, or choose it with the folder picker. Nothing is uploaded; every file is read locally in your browser tab.
- 2The tool builds an index of every note's links, tags, and frontmatter, plus every attachment in the folder, entirely client side.
- 3Orphan notes are flagged when a note has zero backlinks from other notes and zero outgoing links of its own, not just zero backlinks alone.
- 4Stale notes are flagged when their last-modified time is older than the stale-after setting (6 months by default).
- 5Stub notes are flagged when their body, frontmatter excluded, falls under the stub-under word count (50 words by default).
- 6Unused attachments are any file the folder contains that no note embeds anywhere, with the reclaimable size totaled up. Frontmatter keys are checked for two problems: the same key spelled with different casing, and the same key holding different value types across notes.
- 7Everything rolls into a single health score, and the Copy share text button gives you a plain-sentence summary to post, with no file paths or note titles included.
Worked example
A 10-note vault with 5 attachments
Two notes have no links in or out at all, so they are orphans. Three notes have not been touched in 200 to 220 days, past the default 6-month stale threshold. Two notes are under 50 words once frontmatter is stripped, so they are stubs. Two of the five attachments are never embedded by any note, so they are unused. One frontmatter key is spelled both Tags and tags across different notes, a case collision, and also holds a list on one note and a string on another, a mixed type. Scanning this vault returns a health score of 70 out of 100.
Methodology & privacy
Every note and attachment in the dropped folder is parsed once into a vault index of links, tags, and frontmatter keys. Orphan notes are those where nothing else in the vault links to them and their own links resolve to no other note either; a note connected in only one direction, even with zero backlinks, is not an orphan. Stale notes compare each note's last-modified time against now, using an average Gregorian month (365.25 divided by 12 days) times the stale-after setting; notes with no captured modified time are skipped rather than guessed at. Stub notes strip a leading frontmatter block, then count the remaining whitespace-separated words and compare against the stub-under setting; notes whose content could not be read are skipped. Unused attachments are any attachment file whose lowercase basename never appears among the embed and image targets found anywhere in the vault. Frontmatter issues group every key by its lowercased form: a case collision is reported when the same key appears under more than one exact casing, and a mixed type is reported when the same key holds more than one kind of value across the vault. The health score starts at 100 and subtracts five independent, capped deductions, each proportional to the share of the vault affected rather than a raw count: orphan notes up to 25 points, stale notes up to 20 points, stub notes up to 15 points, unused attachments up to 20 points, and frontmatter issues at 4 points each up to 20 points. The five caps sum to exactly 100, so the score always lands between 0 and 100.
- Source: Obsidian Forum: Remove unused/orphan attachments
- Source: GitHub: find-unlinked-files plugin (orphaned notes and broken links)
- Source: Curtis McHale: Building a Second Brain gives you permission to fall into collector's fallacy
- Source: Obsidian Forum: How to add frontmatter to 100 notes
Your vault never leaves your browser. Every note and attachment is read locally through the folder picker or drag-and-drop; nothing is uploaded to a server, and the share-score text never includes a file path or note title, only counts.
FAQ
How do I find unused or orphaned attachments in my vault?
+
Drop your vault folder into this tool. It reads every note's embeds and image links locally, then lists every attachment whose filename never shows up in that list, along with the total size you could reclaim by deleting them.
How do I find orphaned notes in Obsidian?
+
This tool flags a note as an orphan only when nothing else in the vault links to it and it links to nothing else itself, not just when it has zero backlinks. A note that links out even once, or is linked to even once, is not counted as an orphan.
How do I find notes I haven't touched in months?
+
Set the stale-after option to however many months you consider a note abandoned (6 months by default). The tool compares each note's last-modified time against that threshold and lists every match, oldest first.
My vault feels like a graveyard of notes I never revisit. What can I do?
+
That is a common pattern once note capture becomes effortless but review never gets scheduled. This tool makes the graveyard visible in one pass: stale notes, stub notes, and orphan notes together, so you can decide what to connect, expand, or archive instead of letting it pile up silently.
How do I fix inconsistent frontmatter keys like Tags vs tags?
+
The tool groups every frontmatter key by its lowercased form and reports two kinds of inconsistency: a case collision, when the same key appears under more than one exact spelling, and a mixed type, when the same key holds a list on one note and a plain string on another.
What counts as a stub note?
+
Any note whose body, with its frontmatter block excluded from the count, falls under the stub-under word threshold you set (50 words by default). A short note with a long frontmatter block is not penalized for the frontmatter's length.
Does this tool delete my orphaned attachments or notes automatically?
+
No. It only reads your files to build the report; it never writes to, moves, or deletes anything. You review each flagged note or attachment and decide what to keep, connect, or remove yourself.
Related tools
Duplicate & Conflicted-Copy Note Finder
Scan a notes folder for duplicate, near-duplicate, and sync-conflict copies. See side-by-side diffs and which file is newer. Runs entirely in your browser.
Broken Link Checker for Obsidian & Markdown Vaults
Scan an Obsidian or markdown vault for broken wikilinks and dead links. See the source file, line number, and a suggested fix. Runs entirely in your browser.
Tag Cleaner: Audit & Merge Messy Tags
Scan a notes vault for messy tags: case collisions, plural splits, typos, and nesting issues, then copy a ready rename plan. Runs entirely in your browser.
Markdown Word Count & Reading Time
Count words and characters in markdown without frontmatter, code, or link syntax inflating the total, plus a per-heading breakdown and reading time.
This tool fixes one moment. recal handles the whole day.
recal is a private brain for your Mac. It watches how you work, on device, and starts doing your busywork itself. You approve every action.
Get early access