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

Ligature

PixelPixel249 downloads

Replace typed character sequences with Unicode symbols while preserving protected Markdown contexts.

Add to Obsidian
  • Overview
  • Scorecard
  • Updates1

日本語 | 简体中文

Ligature is an Obsidian plugin that immediately replaces typed character sequences with real Unicode symbols. For example, typing -> changes the Markdown source itself to →, so the result remains visible outside Obsidian.

Ligature 0.1.0 requires Obsidian 1.8.7 or later. Desktop, iOS, and Android are supported.

Features

  • Replace configured sequences immediately after the final character is typed.
  • Include useful arrow and comparison rules by default.
  • Add, edit, enable, disable, and delete custom rules.
  • Restore the default rule set from the settings page.
  • Keep YAML, code, math, HTML, comments, and link destinations unchanged.
  • Restore the typed source sequence with one standard Undo operation.
  • Follow Obsidian's display language in English, Japanese, Simplified Chinese, and Traditional Chinese.

Usage

  1. Enable Ligature under Settings → Community plugins.

  2. Open Settings → Ligature to review or edit the replacement rules.

  3. Type a configured sequence in a Markdown editor:

    A -> B
    

    The Markdown source becomes:

    A → B
    
  4. Use Cmd+Z on macOS or Ctrl+Z on Windows and Linux immediately after a replacement to restore ->.

Default rules

Type Result
-> →
<- ←
=> ⇒
!= ≠
<= ≤
>= ≥
~= ≈

Custom rules

Each rule has a source sequence, a replacement, and an enabled state. Select Apply changes after editing.

Sources for enabled rules must be unique. One enabled source also cannot be a prefix of another, because the shorter rule would otherwise be replaced before the longer sequence could be completed. Empty values, line breaks, and rules whose source and replacement are identical are rejected.

Protected Markdown contexts

Ligature replaces text in paragraphs, headings, lists, blockquotes, and Markdown link labels. It does not replace text in:

  • YAML frontmatter
  • fenced code blocks or inline code
  • inline or block math
  • HTML and HTML comments
  • Markdown link destinations and URLs

Only direct single-character typing triggers replacement. Paste, drag and drop, autocomplete, IME composition, programmatic edits, multiple cursors, and batch conversion of existing notes are not supported.

Installation

Community plugins

After Ligature is accepted into the Obsidian Community directory, search for Ligature under Settings → Community plugins.

BRAT or manual beta

For beta testing, add PMGWork/obsidian-ligature in BRAT. For a manual installation, download main.js, manifest.json, and styles.css from the matching GitHub release and place them in .obsidian/plugins/ligature/.

Privacy and security

Ligature works entirely inside the active Markdown editor. It does not make network requests, collect telemetry, show ads, require an account, or read note files in the background. Settings are stored locally in the vault's plugin configuration.

Development

npm ci
npm run dev

Run the complete release check with npm run check. Production main.js is generated locally and can be copied with manifest.json and styles.css into a test vault.

License

MIT

HealthExcellent
ReviewSatisfactory
About
Replace typed character sequences with real Unicode symbols immediately in the Markdown source so replacements persist outside Obsidian. Provide default arrow and comparison rules, allow custom rules, skip protected contexts (YAML, code, math, HTML, link destinations), and restore the original input with a single Undo.
EditingFormattingMarkdown
Details
Current version
0.1.0
Last updated
2 months ago
Created
2 months ago
Updates
1 release
Downloads
249
Compatible with
Obsidian 1.8.7+
Platforms
Desktop, Mobile
License
MIT
Report bugRequest featureReport plugin
Author
PixelPixelpmgwork
pmgwork.com
GitHubpmgwork
Xpmgwork
  1. Community
  2. Plugins
  3. Editing
  4. Ligature

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.

Editing Toolbar

The Editing Toolbar is modified from cMenu, which provides more powerful customization settings and has many built-in editing commands to be a MS Word-like toolbar editing experience.

Outliner

Work with your lists like in Workflowy or Roam Research.

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.

Sort and Permute lines

Sort and Permute lines in whole file or selection.

Various Complements

Complete words similar to auto-completion in an IDE.

Heading Shifter

Easily Shift and Change Markdown headings.

Shortcuts extender

Use shortcuts for input special symbols without language switching.

Chord Sheets

Work with chord sheets (chords over lyrics or inline) in Live Preview and reading mode: Chord diagrams for guitar, ukulele, mandolin and piano, transpose, autoscroll, and more.

Blur

Create obfuscated blocks of text.