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

Heading Level Adjust

obcdianobcdian32 downloads

Adjust Markdown heading levels and clean up dividers/empty lines in selected text or the entire document.

Add to Obsidian
  • Overview
  • Scorecard
  • Updates1

A powerful and safe plugin to adjust Markdown heading levels and clean up your notes in Obsidian.

Features

1. Heading Level Adjustment

Easily promote or demote headings within your selection or the current line.

  • Increase Heading Level: Converts # to ##, ## to ###, etc. (+1).
  • Decrease Heading Level: Converts ## to #, ### to ##, etc. (-1).
  • Custom Heading Level Adjust: Opens a prompt to enter a custom delta (e.g., -2 to demote two levels at once).
  • Composite Commands: Combine heading adjustment and Markdown cleaning in one step.
    • Increase heading level and clean: Promotes headings (+1) and then cleans the selection.
    • Decrease heading level and clean: Demotes headings (-1) and then cleans the selection.
  • Safety First:
    • Prevents demoting below level 1 (#).
    • Prevents promoting beyond level 6 (######).
    • Operations are automatically cancelled if any line in the selection would violate these Markdown standards.

2. Markdown Cleaning

Clean up your notes with a single command.

  • Remove Dividers: Automatically strips out horizontal rules (e.g., ---, ***, ___).
  • Compress Empty Lines: Collapses multiple consecutive empty lines into a single one.
  • Flexible Scope: Works on the current selection or the entire document if nothing is selected.

Installation

From GitHub (Manual)

  1. Download the latest release (main.js, manifest.json, styles.css).
  2. Create a folder named heading-level-adjust in your vault's .obsidian/plugins/ directory.
  3. Move the downloaded files into that folder.
  4. Reload Obsidian and enable the plugin in Settings > Community plugins.

For Developers

  1. Clone this repository.
  2. Run npm install to install dependencies.
  3. Run npm run build to compile the plugin.
  4. Copy main.js, manifest.json, and styles.css to your Obsidian plugins folder.

Usage

Open the Command Palette (Ctrl/Cmd + P) and search for:

  • Heading Level Adjust: Increase heading level (+1) (Default hotkey: Ctrl/Cmd + Shift + =)
  • Heading Level Adjust: Decrease heading level (-1) (Default hotkey: Ctrl/Cmd + Shift + -)
  • Heading Level Adjust: Increase heading level (+1) and clean
  • Heading Level Adjust: Decrease heading level (-1) and clean
  • Heading Level Adjust: Adjust heading level (custom delta)
  • Heading Level Adjust: Clean

License

This project is licensed under the MIT License.

83%
HealthExcellent
ReviewSatisfactory
About
Adjust Markdown heading levels in a selection or current line with promote, demote, or a custom delta while preventing levels below # or above ######. Clean notes by removing horizontal rules and collapsing multiple blank lines, and apply adjustment+clean as a single command to a selection or whole file.
MarkdownFormattingEditing
Details
Current version
1.0.0
Last updated
Last month
Created
Last month
Updates
1 release
Downloads
32
Compatible with
Obsidian 1.1.15+
Platforms
Desktop, Mobile
License
MIT
Report bugRequest featureReport plugin
Author
obcdianobcdian
github.com/obcdian/
GitHubobcdian
  1. Community
  2. Plugins
  3. Markdown
  4. Heading Level Adjust

Related plugins

Outliner

Work with your lists like in Workflowy or Roam Research.

Various Complements

Complete words similar to auto-completion in an IDE.

Linter

Format and style your notes. Linter can be used to format YAML tags, aliases, arrays, and metadata; footnotes; headings; spacing; math blocks; regular Markdown contents like list, italics, and bold styles; and more with the use of custom rule options.

Easy Typing

Auto format when typing.

Blur

Create obfuscated blocks of text.

List Callouts

Create simple callouts in lists.

Columns

Create columns in Markdown.

Advanced Tables

Improved table navigation, formatting, and manipulation.

Importer

Import data from Notion, Evernote, Apple Notes, Microsoft OneNote, Google Keep, Bear, Roam, and HTML files.

Meta Bind

Make your notes interactive with inline input fields, metadata displays, and buttons.