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
  • Join the community
  • Discord
  • Forum / 中文论坛
  • Merch store
  • Brand guidelines
Follow us
DiscordTwitterBlueskyThreadsMastodonYouTubeGitHub
© 2026 Obsidian

Arrows

artisticat1artisticat18k downloads

Draw arrows across different parts of your notes, similar to on paper.

Add to Obsidian
  • Overview
  • Scorecard
  • Updates1

A plugin for Obsidian that lets you draw arrows in your notes, similar to how you might draw arrows across different parts of your notes on paper.

Works in Live Preview mode only.

demo

Usage

Drawing arrows

Type {arrow-identifier|color} to mark the start of an arrow, e.g. {my-arrow|#1e90ff}.

Then, type {arrow-identifier} elsewhere to mark the end of the arrow; in this case, {my-arrow}.

An arrow will be drawn from the start identifier to the end identifier along the margin.

Lorem ipsum dolor sit amet, consectetur {my-arrow|#1e90ff} adipiscing elit. Tempus tortor ac, commodo purus.

Morbi et lacus suscipit, dignissim purus at, dapibus augue. {my-arrow} Aliquam non lectus varius.

Diagonal arrows

To create a diagonal arrow, append "|diagonal" to the start identifier of the arrow, e.g. {my-arrow|#ff5555|diagonal}.

Lorem ipsum dolor sit amet, consectetur {my-arrow2|#ff5555|diagonal} adipiscing elit. Tempus tortor ac, commodo purus.

Morbi et lacus suscipit, dignissim purus at, dapibus {my-arrow2} augue. Aliquam non lectus varius.

Drawing more arrows

You can add more arrows by using different arrow identifiers, e.g. {this-is-another-arrow|orange}:

Lorem ipsum dolor sit amet, {this-is-another-arrow|orange} consectetur adipiscing elit. {my-arrow3}

Morbi et lacus suscipit, dignissim purus at, dapibus augue. Aliquam non lectus varius, {my-arrow3|#1e90ff|diagonal} tempus tortor ac, commodo purus. {this-is-another-arrow}

Multi-arrows

You can have multiple end identifiers corresponding to a single start identifier. An arrow will be drawn for each:

Lorem ipsum dolor sit amet, {multi-arrow|limegreen} consectetur adipiscing elit.

Morbi et lacus suscipit, dignissim purus at, dapibus augue. Aliquam non lectus varius, tempus tortor ac, commodo purus. {multi-arrow}

Pellentesque posuere ex non facilisis bibendum. Integer iaculis dolor dignissim, ultrices ligula eu, malesuada metus. {multi-arrow}

Adjusting margin arrows

Adjust the x-position of margin arrows by appending "|x-pos" to the start identifier, where x-pos is a number between 0 and 30, e.g. {my-arrow|blue|10}.

Lorem ipsum dolor sit amet, {first|dodgerblue|20} consectetur adipiscing elit. {second|limegreen|10}

Morbi et lacus suscipit, dignissim purus at, dapibus augue. {third|tomato} Aliquam non lectus varius, tempus tortor ac, commodo purus.

Pellentesque posuere {third} ex non facilisis bibendum. {second}
Integer iaculis dolor dignissim, ultrices ligula eu, malesuada metus. {first}

Arrowheads

Add an arrowhead to the start of an arrow by appending "|arrow" to the start identifier.

Remove the arrowhead at the end of an arrow by appending "|no-arrow" to the end identifier.

Lorem ipsum dolor sit amet, {double-arrow|#3d6eff|arrow} consectetur adipiscing elit.

Morbi et lacus suscipit, {double-arrow} dignissim purus at, dapibus augue. {line|#9d6efa} Aliquam non lectus varius, tempus tortor ac, commodo purus.

Pellentesque posuere ex non facilisis bibendum. {line|no-arrow}

Navigating between arrows

When the cursor is moved outside of the {arrow-identifier} syntax, the syntax will be rendered as a small circle ● for a tidier look.

You can click on any arrow identifier ● to automatically scroll to the next matching identifier. This lets you quickly navigate between arrow start/end positions in a long document.

Full arrow syntax

Write

  • {arrow-identifier|color|opacity|type|x-position|arrowhead} to denote the start of an arrow, where:
    • arrow-identifier is a string that acts as the arrow's identifier
    • color is any valid color in CSS notation, e.g. red, #ff0000
    • opacity (optional) is a float between 0 and 1, e.g. 0.6. Defaults to 1.
    • type (optional) is either "diagonal" or "margin". Defaults to "margin".
    • x-position (optional) is an integer between 0 and 30. Sets the x-position of margin arrows. Defaults to 0.
    • arrowhead (optional) is either "no-arrow" or "arrow". Use "arrow" to add an arrowhead to the start of the arrow. Defaults to "no-arrow".
  • {arrow-identifier} to denote the end of an arrow.
    • Write {arrow-identifier|no-arrow} instead to remove the arrowhead from the end of the arrow.

Arrows will be drawn from each start identifier to all corresponding end identifiers.

Limitations

Works in Live Preview mode only.

Contributing

Any contributions and PRs are welcome!

Acknowledgements

This project uses the leader-line library to draw arrows.

67%
HealthFair
ReviewCaution
About
Draw arrows in Live Preview by inserting inline identifiers that mark start and end points and specify color. Create diagonal arrows, multiple end targets per start, and margin-positioned connectors to visually link parts of your notes.
DrawingVisualization
Details
Current version
1.0.0
Last updated
2 years ago
Created
2 years ago
Updates
1 release
Downloads
8k
Compatible with
Obsidian 1.0.0+
License
MIT
Report bugRequest featureReport plugin
Sponsor
Ko-fi
Author
artisticat1artisticat1
github.com/artisticat1
GitHubartisticat1
  1. Community
  2. Plugins
  3. Drawing
  4. Arrows

Related plugins

Mermaid Tools

Improved Mermaid.js experience: visual toolbar with common elements and more.

Tldraw

Integration with tldraw, allowing users to draw and edit content on a virtual whiteboard.

D2

A modern diagram scripting language that turns text to diagrams.

Excalidraw CN

Excalidraw supporting Chinese hand write font by default.

Excalidraw

Create and edit Excalidraw drawings.

Maps

Adds a map layout to bases so you can display notes as an interactive map view.

Advanced Canvas

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

Strange New Worlds

Reveal networked thought and the strange new worlds created by your vault.

Charts

Easily create interactive charts in your notes.

Markmind

Mind map, outline and PDF annotation tool. (Closed source)