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

ASCII Tree Generator

michalekmatejmichalekmatej2k downloads

Convert indented code blocks with hierarchy markers into formatted ASCII tree diagrams.

Add to Obsidian
  • Overview
  • Scorecard
  • Updates4

Transform indented outlines into beautiful ASCII tree diagrams directly in your Obsidian notes. Perfect for technical documentation, project hierarchies, or mind-mapping.

Features:

  • Simple Syntax: Use either standard markdown lists or = characters to indicate nesting levels
  • Automatic Hierarchy Detection: Converts markdown code blocks into ASCII trees
  • Multi-Level Support: Handles unlimited nesting levels with proper indentation
  • Clean Formatting: Produces professional-looking trees with proper box-drawing characters
  • Dual-Mode Display: Renders trees in both preview and editing modes
  • Native Markdown Compatible: Works with standard markdown list indentation

How to Use:

Method 1: Using markdown lists

  1. Create a code block with tree keyword as a language identifier.
  2. Use standard markdown list syntax:
    • Unordered lists with -, *, or +
    • Ordered lists with numbers (1., 2., etc.)
    • Standard tab indentation for nesting levels

Method 2: Using equals signs

  1. Create a code block with tree keyword as a language identifier.
  2. Indent hierarchy levels using = signs:
    • Each = represents one level of nesting
    • Example: ==subitem → two levels deep

Example usage:

Example 1 (with markdown lists):

Project
- Documentation
  - README.md
  - Changelog.md
- Source
  - Frontend
    - Components
      - Header
      - Footer
  - Backend
    - API
      - User
      - Product
- Tests
  - Unit
  - Integration

Output:

Project
├── Documentation
│   ├── README.md
│   └── Changelog.md
├── Source
│   ├── Frontend
│   │   └── Components
│   │       ├── Header
│   │       └── Footer
│   └── Backend
│       └── API
│           ├── User
│           └── Product
└── Tests
    ├── Unit
    └── Integration

Example 2 (with equals signs):

Project
=Documentation
==README.md
==Changelog.md
=Source
==Frontend
===Components
====Header
====Footer
==Backend
===API
====User
====Product
=Tests
==Unit
==Integration

Output:

Project
├── Documentation
│   ├── README.md
│   └── Changelog.md
├── Source
│   ├── Frontend
│   │   └── Components
│   │       ├── Header
│   │       └── Footer
│   └── Backend
│       └── API
│           ├── User
│           └── Product
└── Tests
    ├── Unit
    └── Integration

Available Commands:

This plugin provides three convenient commands accessible through the Command Palette (Ctrl/Cmd + P):

Convert selection to tree code block

  • Usage: Select text and run this command to wrap it in a tree code block
  • Behavior:
    • With text selected: Wraps selection in tree code block
    • Without selection: Wraps the current line in tree code block
  • Perfect for: Converting existing lists or hierarchies into tree format

Convert tree block back to text

  • Usage: Place cursor anywhere within a tree code block and run this command
  • Behavior: Removes the tree wrapper, leaving just the plain text content

Toggle tree block

  • Usage: Smart command that automatically chooses between adding or removing a tree code block
  • Behavior:
    • If cursor is inside a tree block → removes the tree block
    • If cursor is outside a tree block → converts selection/line to tree block

💡 Tip: Assign keyboard shortcuts to these commands in Obsidian's Hotkeys settings for even faster workflow.

Settings:

The plugin settings page (Obsidian Settings → Community Plugins → ASCII Tree Generator) lets you configure:

  • Connector dashes — how many ─ characters follow each ├ or └. Default is 2, giving the classic ├── style. Can be set between 1 and 10.
  • Auto-append / to folders — automatically adds a trailing / to any item that has children in the tree.

Per-block connector width

You can override the global connector width for a specific block by adding a number after tree on the opening fence line:

```tree 4
Project
- src
  - main.ts
- docs
  - README.md
```

This produces ├──── connectors just for that block, while all other blocks keep using the global setting.

Installation:

  1. Available through Obsidian's Community Plugins
  2. Search for "ASCII Tree Generator"
  3. Enable plugin after installation
78%
HealthExcellent
ReviewSatisfactory
About
Transform indented Markdown lists or =-based outlines into clean ASCII tree diagrams directly in your notes. Render professional box-drawing trees with unlimited nesting, automatic hierarchy detection, and support for both edit and preview modes.
VisualizationMarkdownFormatting
Details
Current version
1.3.0
Last updated
4 weeks ago
Created
Last year
Updates
4 releases
Downloads
2k
Compatible with
Obsidian 0.15.0+
Platforms
Desktop, Mobile
License
MIT
Report bugRequest featureReport plugin
Author
michalekmatejmichalekmatej
matejmichalek.com
GitHubmichalekmatej
  1. Community
  2. Plugins
  3. Visualization
  4. ASCII Tree Generator

Related plugins

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.

Blur

Create obfuscated blocks of text.

Markwhen

Create timelines, gantt charts, calendars, and more using markwhen.

AnyBlock

Take any fragment as a block and render it into multiple effects.

Columns

Create columns in Markdown.

Image Captions

Add captions to images with inline Markdown and link support. The caption format is compatible with the Commonmark spec and other Markdown applications.

Advanced Canvas

Supercharge your canvas experience. Create presentations, flowcharts and more.

Importer

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

Excalidraw

Visual PKM powerhouse. Create and edit Excalidraw drawings.

Outliner

Work with your lists like in Workflowy or Roam Research.