Search...Search plugins and themes...
⌘K
Sign in
  • Get started
  • Download
  • Pricing
  • Enterprise
  • Account
  • Obsidian
  • Overview
  • Sync
  • Publish
  • Canvas
  • Mobile
  • Web Clipper
  • CLI
  • Learn
  • Help
  • Developers
  • Changelog
  • About
  • Roadmap
  • Blog
  • Resources
  • System status
  • License overview
  • Terms of service
  • Privacy policy
  • Security
  • Community
  • Plugins
  • Themes
  • Discord
  • Forum / 中文论坛
  • Merch store
  • Brand guidelines
Follow us
DiscordTwitterBlueskyThreadsMastodonYouTubeGitHub
© 2026 Obsidian

Backlink Cache

Michael NaumovMichael Naumov27k downloads

Store backlink cache to speed up `app.metadataCache.getBacklinksForFile`.

Add to Obsidian
  • Overview
  • Scorecard
  • Updates103

This is a plugin for Obsidian that maintains backlink cache to speed up undocumented app.metadataCache.getBacklinksForFile() function.

It's mostly useful for users with the large vaults. On smaller vaults the difference might be unnoticeable.

It speeds up Backlinks Pane performance and plugins that deal with the backlinks.

This plugin the most likely will be useful for other plugin developers that deal with the backlinks.

Its idea came from the forum.

Also the plugin includes canvas (.canvas) files in the backlinks for the referenced notes, and exposes a canvas file's links through app.metadataCache.getCache(). See Canvas backlinks.

Usage

Fast version

The provided version is faster than the built-in version. Also the overload to accept path was added.

const backlinks1 = app.metadataCache.getBacklinksForFile(file);
const backlinks2 = app.metadataCache.getBacklinksForFile(path);

Safe version

If you want to ensure the all recent file changes are processed and the backlinks are 100% accurate.

const backlinks1 = await app.metadataCache.getBacklinksForFile.safe(file);
const backlinks2 = await app.metadataCache.getBacklinksForFile.safe(path);

Original version

You can access the original built-in version:

const backlinks = app.metadataCache.getBacklinksForFile.originalFn(file);

TypeScript typings

If you want to use the updated functions from your plugin, you can copy types.d.ts into your code.

Canvas backlinks

Obsidian resolves canvas backlinks natively since v1.12.4: links from canvas file/text cards appear in the Backlinks pane and graph, and in app.metadataCache.getBacklinksForFile() and resolvedLinks / unresolvedLinks.

On top of that, the plugin keeps canvas files in its fast backlink index and additionally exposes each canvas file's links through app.metadataCache.getCache(), which Obsidian leaves empty for canvas files. This runs when the Canvas core plugin is enabled.

Backlinks panel

The plugin speeds up the Backlinks panel if Backlinks core plugin is enabled.

Frontmatter markdown links

The plugin includes backlinks from the frontmatter markdown links if Frontmatter Markdown Links community plugin is enabled. Example of such link:

---
key: "[title](path/to/link.md)"
---

Demo vault

A demo vault with usage examples ships with every release. You can access it via any of the following:

  1. Running the Backlink Cache: Open demo vault command.
  2. Downloading backlink-cache-demo-vault-<version>.zip (<version> is the release version) from the Releases.
  3. Browsing its source in demo-vault/ in this repository.

Installation

The plugin is available in the official Community Plugins repository.

Beta versions

To install the latest beta release of this plugin (regardless if it is available in the official Community Plugins repository or not), follow these steps:

  1. Ensure you have the BRAT plugin installed and enabled.
  2. Click Install via BRAT.
  3. An Obsidian pop-up window should appear. In the window, click the Add plugin button once and wait a few seconds for the plugin to install.

Debugging

By default, debug messages for this plugin are hidden.

To show them, run the following command:

window.DEBUG.enable('backlink-cache');

For more details, refer to the documentation.

Support

My other Obsidian resources

See my other Obsidian resources.

License

© Michael Naumov

HealthExcellent
ReviewSatisfactory
About
Speed up backlink queries and the Backlinks pane by maintaining a persistent backlink cache to improve performance in large vaults. Include Canvas and frontmatter markdown links and offer fast and safe app.metadataCache.getBacklinksForFile wrappers, with access to the original function.
LinksDevelopersIntegrations
Details
Current version
2.16.2
Last updated
3 days ago
Created
3 years ago
Updates
103 releases
Downloads
27k
Compatible with
Obsidian 1.13.4+
Platforms
Desktop, Mobile
License
MIT
Report bugRequest featureReport plugin
Sponsor
Buy Me a Coffee
Author
Michael NaumovMichael Naumovmnaoumov
mnaoumov.dev/
GitHubmnaoumov
Xmnaoumov
  1. Community
  2. Plugins
  3. Links
  4. Backlink Cache

Related plugins

BRAT

Easily install a beta version of a plugin for testing.

Local REST API with MCP

Unlock your automation needs by interacting with your notes over a secure REST API.

Sync Engine

The next-generation syncing plugin: Fast · Free · Extend with Modules. Supports WebDAV and S3.

Excalidraw

Visual PKM powerhouse. Create and edit Excalidraw drawings.

Claudian

Embeds Claude Code/Codex and other local Agents as AI collaborators in your vault.

Smart Connections

Find related notes and excerpts while writing. Your AI link building copilot displays relevant content in graph + list view. A local embedding model powers semantic search. Zero setup. No API key.

Advanced URI

Control everything with URI.

Custom Frames

Turn web apps into panes using iframes with custom styling. Also comes with presets for Google Keep, Todoist and more.

Fast Note Sync

Real-time sync of your vaults across server, mobile, and web; shareable with anyone; supports REST and MCP integrations to build your personal AI knowledge base.

Breadcrumbs

Visualise the hierarchy of your vault using a breadcrumb trail or matrix view.