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

Any-RTL

Mohammad Mahdi ZamaniMohammad Mahdi Zamani19 downloads

Smart RTL support for mixed-language Obsidian notes.

Add to Obsidian
  • Overview
  • Scorecard
  • Updates1

Smart RTL support for mixed-language notes in Obsidian.

Any-RTL provides flexible right-to-left (RTL) and left-to-right (LTR) direction handling for Obsidian, with content-aware detection for mixed-language notes.

✨ Features

  • 🔄 Multiple direction modes
    • Auto — follow Obsidian's automatic direction detection.
    • Any-RTL — use RTL when a line contains any RTL character; otherwise use LTR.
    • LTR / RTL — force a specific direction.
  • 📄 Per-file direction — remember the selected direction for individual notes.
  • 🏷️ Frontmatter support — control a note's direction directly from YAML frontmatter.
  • 📝 Mixed-language content — handle Persian, Arabic, Hebrew, English, and other RTL/LTR content within the same note.
  • 👁️ Reading Mode support — apply direction handling to rendered notes.
  • 📏 Flexible detection — choose between per-line and per-block direction handling.

📦 Installation

🌐 Community Plugins

  1. Open Settings → Community plugins → Browse.
  2. Search for Any RTL.
  3. Click Install, then Enable.

🧪 BRAT

For the current development version:

  1. Install BRAT from Community Plugins.
  2. Open Settings → BRAT → Beta Plugin List.
  3. Add https://github.com/zamanimm/obsidian-Any RTL
  4. Install and enable Any RTL.

🛠️ Manual Installation

  1. Download the latest release from GitHub Releases.
  2. Create the plugin folder:
.obsidian/plugins/any-rtl/
  1. Place these files inside the folder:
main.js
manifest.json
styles.css
  1. Restart Obsidian or reload the plugins.
  2. Enable Any RTL from Settings → Community plugins.

🎯 Direction Modes

Mode RTL character present No RTL character Behavior
LTR LTR LTR Force left-to-right
RTL RTL RTL Force right-to-left
Auto Depends on the first strong directional character Depends on the first strong directional character Follow Obsidian’s automatic direction detection
Any-RTL RTL Depends on the first strong directional character RTL if any RTL character is present
  • Based on Obsidian's built-in direction detection.

🔍 Any RTL Detection

A line is treated as RTL if it contains at least one RTL character:

📝 Example

سید علی
سید ali
seyed علی
seyed ali

This is particularly useful for mixed-language content where RTL and LTR text appear in the same line.


📝 Per-Note Direction

Notes use the Default text direction unless a saved per-note direction or frontmatter override applies.

To remember a note’s direction without modifying its Markdown file:

  1. Enable Remember text direction per file in Settings → Any-RTL.

  2. Open the note and click the status bar’s direction indicator, or use the plugin’s text-direction command, to cycle through LTR → RTL → Any-RTL → Auto.

Your selection is saved in the plugin’s data.json and restored when the note is reopened. Disabling this setting makes notes use the default direction unless frontmatter specifies otherwise.

🏷️ Frontmatter Override

Set a note’s direction explicitly using YAML frontmatter:

---
direction: any-rtl
---

Supported values: rtl, ltr, auto, and any-rtl.

A valid frontmatter direction takes priority over saved per-note directions and the global default. UI changes do not modify frontmatter. With per-file remembering enabled, your selection is still saved, but frontmatter takes precedence when the note is reopened.

Reset to Default

Close Obsidian and remove the note’s entry from fileDirections in:

<Vault>/.obsidian/plugins/any-rtl/data.json

Also remove any direction property from the note’s frontmatter.


⚙️ Settings

Configure Any RTL from: Settings → Any RTL Available options include direction mode, detection behavior, per-file direction, and Reading Mode handling.


🙏 Credits

Any RTL builds on ideas and implementation patterns from these open-source Obsidian plugins:

  • Content RTL by Sirwan Afifi
  • RTL Support by ESM 7 and contributors Both projects are released under the MIT License. Their original copyright and license notices are retained where applicable. Thank you to the authors and contributors of these projects for their open-source work. ❤️

📄 License

MIT License. See License for details.

HealthExcellent
ReviewSatisfactory
About
Detect and apply correct RTL/LTR direction for mixed-language notes by using content-aware per-line or per-block detection in editor and reading view. Remember per-file direction, read YAML frontmatter for overrides, and offer Auto, Any-RTL, LTR and RTL modes for flexible control.
RTLInterface
Details
Current version
1.2.1
Last updated
23 hours ago
Created
Last month
Updates
1 release
Downloads
19
Compatible with
Obsidian 1.6.2+
Platforms
Desktop, Mobile
License
MIT
Report bugRequest featureReport plugin
Author
Mohammad Mahdi ZamaniMohammad Mahdi Zamanizamanimma
GitHubzamanimm
  1. Community
  2. Plugins
  3. RTL
  4. Any-RTL

Related plugins

Hider

Hide interface elements such as tooltips, status bar, titlebar, and more.

Meta Bind

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

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.

Note Toolbar

Add customizable toolbars to your notes.

Hover Editor

Transform the Page Preview hover popover into a fully working editor instance.

Agent Client

Chat with Claude Code, Codex, Gemini CLI, and more via the Agent Client Protocol — right from your vault.

Commander

Customize your workspace by adding commands everywhere, create macros and supercharge your mobile toolbar.

Typewriter Mode

Typewriter scroll, writing focus, current line highlight, paragraph dimming, and more!

Iconic

Customize your icons and their colors directly from the UI, including tabs, files & folders, bookmarks, tags, properties, and ribbon commands.

Lean Terminal

Embedded terminal panel powered by xterm.js and node-pty - no external windows.