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

Table of Content

secum3rsecum3r243 downloads

Inserts a clickable table of contents at the top of the note, with a configurable maximum heading depth.

Add to Obsidian
  • Overview
  • Scorecard
  • Updates9

An Obsidian plugin that inserts a clickable table of contents at the top of the current note, built from its headings.

Features

  • Note TOC — scans the active note for headings and inserts a clickable table of contents at the top.
  • Folder index — generates _index.md in a folder listing all notes and subfolders as clickable links.
  • Vault index — generates _Main-Index.md at the vault root listing all folders.
  • Configurable depth for each feature independently.
  • Re-running any command updates the existing block in place — no duplicates.
  • Headings inside fenced code blocks (``` or ~~~) are ignored.

How to use

1. Note table of contents

  1. Open the note you want a table of contents for.
  2. Open the Command Palette (Ctrl/Cmd + P) and run Table of Content: Insert at top of note.
  3. A TOC is inserted at the top of the note between <!-- toc --> and <!-- /toc --> markers. Click any entry to jump to that heading.
  4. Re-run the command after editing headings to refresh it in place.

Configure the heading depth and sort order under Settings → Table of Content.


2. Folder index (_index.md)

Generates a _index.md file inside a folder listing all notes and subfolders as [[WikiLinks]].

Important — Obsidian behaviour: Opening the Command Palette shifts focus away from the file explorer, so any folder you had highlighted will be deselected. The plugin cannot detect which folder you clicked in the sidebar once the palette is open.

Workaround: Open any note inside the folder you want to index first, then run the command. The plugin uses the parent folder of the currently open note as the target.

Steps:

  1. Open any note that lives inside the folder you want to generate an index for.
  2. Open the Command Palette (Ctrl/Cmd + P) and run Table of Content: Insert folder index.
  3. _index.md is created (or updated) inside that folder with a nested list of all notes and subfolders.
  4. Re-run the command from any note in the same folder to refresh.

Configure the subfolder scan depth under Settings → Table of Content → Folder index.


3. Vault index (_Main-Index.md)

Generates a _Main-Index.md at the vault root listing all top-level folders as clickable links to their _index.md.

  1. Open the Command Palette (Ctrl/Cmd + P) and run Table of Content: Insert vault index.
  2. _Main-Index.md is created (or updated) at the root of your vault.
  3. Click any folder entry to open its _index.md. If _index.md does not exist yet for a folder, clicking the link will prompt Obsidian to create it.
  4. Re-run the command at any time to refresh the listing.

Configure the folder depth (max 2) under Settings → Table of Content → Vault index.


Configuring settings

Go to Settings → Table of Content to configure:

Setting Description
Maximum heading depth Heading levels included in the note TOC (1–6)
Sort order Document order or alphabetical (a–z)
Maximum subfolder depth How deep to scan subfolders for the folder index
Maximum folder depth How many folder levels to show in the vault index (1–2)

Installation

Manually installing the plugin

Copy main.js, manifest.json, and styles.css (if present) into:

<YourVault>/.obsidian/plugins/table-of-content/

Then reload Obsidian and enable Table of Content under Settings → Community plugins.

Building from source

npm install
npm run build

This produces main.js at the project root, alongside manifest.json.

Development

npm install
npm run dev    # watch mode, recompiles on save
npm run lint   # run ESLint

License

This project is licensed under the MIT License.

HealthExcellent
ReviewSatisfactory
About
Insert a nested, clickable table of contents at the top of the active note built from its headings. Configure maximum heading depth, update the TOC in place when rerun, and ignore headings inside fenced code blocks.
NavigationOutlining
Details
Current version
1.0.8
Last updated
21 hours ago
Created
Last month
Updates
9 releases
Downloads
243
Compatible with
Obsidian 1.0.0+
Platforms
Desktop, Mobile
License
MIT
Report bugRequest featureReport plugin
Sponsor
Ko-fi
Author
secum3rsecum3rsecum3r
GitHubsecum3r
  1. Community
  2. Plugins
  3. Navigation
  4. Table of Content

Related plugins

Notebook Navigator

A better file browser and calendar inspired by Apple Notes, Bear, Evernote and Day One.

Homepage

Open a note, base, or workspace on startup, or set it for quick access later.

Breadcrumbs

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

Quick Switcher++

Enhanced Quick Switcher, search open panels, and symbols.

Vertical Tabs

Offer an alternative view that displays open tabs vertically, allowing users to group and organize tabs for a better navigation experience.

TagFolder

Show tags as folder.

Recent Files

Display a list of recently opened files.

Outliner

Work with your lists like in Workflowy or Roam Research.

Folder notes

Create notes within folders that can be accessed without collapsing the folder, similar to the functionality offered in Notion.

Creases

Tools for effectively folding Markdown sections.