Markdown Heading Links
approvedby Hamirdreza Zamanian
Preview and create standard Markdown links to headings in Obsidian. - This plugin has not been manually reviewed by Obsidian staff.
Markdown Heading Links
Disclaimer: This plugin is AI-generated.
Add Ctrl/Cmd-hover previews and click navigation for standard Markdown links to headings, including links to other notes. Type # in a link destination to autocomplete headings, copy heading slugs from Reading view, and use commands to copy complete Markdown links.
Markdown heading links such as [Read more](#getting-started) are standard Markdown, but Obsidian does not provide native hover previews for them. This plugin bridges that gap and makes Markdown heading links easier to create.
Features
- Native Ctrl/Cmd-hover previews for Markdown heading links.
- Click navigation for heading slugs, including links to other notes.
- Heading autocomplete: type
#after[link text](and choose a heading. - Copy-slug buttons beside headings in Reading view.
- Commands for copying a heading slug or a complete Markdown link.
- Duplicate headings use
-1,-2, and later suffixes.
Usage
Given this heading:
## Getting Started
Type the following in Edit mode:
[Read more](#
Important: add a space in the end to activate the suggestions.
Choose a heading such as Getting Started from the suggestions. The plugin inserts:
[Read more](#getting-started)
In Reading view, hover over a heading to reveal its link button and copy the slug. You can also open the Command palette with Ctrl/Cmd+P and search for:
- Suggest heading slug
- Copy heading slug
- Copy Markdown link to heading
You can also place the cursor on the heading in the writing mode and right click on it and choose one of the copy options that you can find in the command palette as well.
Installation
Community plugin
Install the plugin from the Obsidian Community directory: open Settings > Community plugins, search for Markdown Heading Links, and select Install. For manual installation, use the instructions below.
Manual installation
- Download the plugin files from the latest GitHub release:
main.js,manifest.json, andstyles.css. - Create a folder named
markdown-heading-linksand place all three files directly inside it. - Enable community plugins in Obsidian: Go to Settings > Community Plugins and turn off Restricted Mode if it's on.
- Open the plugins folder: Still in Settings > Community Plugins, click the folder icon (hover text: "Open plugins folder").
- Copy the
markdown-heading-linksfolder into the plugins folder that just opened. - Reload Obsidian: Either restart Obsidian completely, or click the refresh icon in Settings > Community Plugins to rescan the folder.
- Enable the plugin: In Settings > Community Plugins, find Markdown Heading Links in the list and toggle it ON.
- Verify it loaded:
The toggle should stay on and no error message should appear. If it does, double-check that the folder structure is
plugins/markdown-heading-links/main.js(notplugins/markdown-heading-links/markdown-heading-links/main.js).
Tip: Make sure main.js and manifest.json sit directly inside markdown-heading-links/, not inside another subfolder.
Requires Obsidian 1.5.0 or later.
Privacy
Markdown Heading Links works locally in your vault. It does not collect telemetry, make network requests, or send your note contents anywhere. When you use a copy feature, it writes the generated slug or Markdown link to the system clipboard. The plugin never reads the clipboard, so existing clipboard content—including content copied from outside Obsidian—is not accessed.
Development
npm install
npm test
npm run build
The production build creates main.js, which is intentionally ignored by Git.
For a release, publish main.js, manifest.json, and styles.css as separate
assets on a GitHub release whose tag exactly matches the version in
manifest.json.
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.