RTL text (in LTR documents) is splitted vertically in bullet/number lists

Steps to reproduce

happens automatically when in live-preview/editing mode, when im writing a text in an RTL language which is longer than one row, inside a bullet/number list.
doesn’t happen when in reading mode.
doesn’t happen when its just text without bullet points.

Expected result

when writing in a RTL language (such as Hebrew), text should appear horizontally in the next row when the text is longer than one row.

Actual result

when the text is more than one row, it splits down vertically, each letter in a new row (see picture)


  • Operating system:
  • Debug info:
    Obsidian version: v1.0.0
    Installer version: v0.15.6
    Operating system: Windows 10 Home 10.0.22621
    Login status: not logged in
    Insider build toggle: off
    Live preview: on
    Legacy editor: off
    Base theme: dark
    Community theme: Minimal
    Snippets enabled: 3
    Restricted mode: off
    Plugins installed: 34
    Plugins enabled: 30
    1: Calendar v1.5.10
    2: Dataview v0.5.47
    3: Tag Wrangler v0.5.3
    4: Templater v1.14.3
    5: Periodic Notes v0.0.17
    6: Kanban v1.4.6
    7: Editor Syntax Highlight v0.1.3
    8: Buttons v0.4.18
    9: Minimal Theme Settings v6.1.0
    10: Style Settings v0.4.12
    11: Hotkey Helper v0.3.15
    12: Quick Switcher++ v2.1.1
    13: Emoji Shortcodes v2.1.2
    14: Omnisearch v1.6.4
    15: Quick Explorer v0.2.2
    16: Recent Files v1.3.3
    17: Contextual Typography v2.2.4
    18: Supercharged Links v0.9.3
    19: Excalidraw v1.7.25
    20: Commander v0.2.1
    21: Breadcrumbs v3.6.3
    22: QuickAdd v0.5.5
    23: ExcaliBrain v0.1.11
    24: Text Snippets v0.1.2
    25: Obsidian Git v2.8.0
    26: Tasks v1.15.1
    27: MetaEdit v1.7.2
    28: Advanced Tables v0.17.3
    29: Metadata Menu v0.2.14
    30: Zotero Integration v2.2.30

Custom theme and snippets: for cosmetic issues, please first try updating your theme and disabling your snippets. If still not fixed, please try to make the issue happen in the Sandbox Vault or disable community theme and snippets.
Community plugins: for bugs, please first try updating all your plugins to latest. If still not fixed, please try to make the issue happen in the Sandbox Vault or disable community plugins.

Additional information

I tried it with the default theme and without any custom CSS, still persists.
doesn’t occur in none RTL languages (such as English).

1 Like

Attach a copy of file causing this.

This is not OP, but any file with Hebrew does this, attaching an example
משפט הערך הממוצע של לגראנז’.md (166 Bytes)

I am getting confused here.
We don’t support mxed LTR/RTL currently and I can’t repro in v1.0.3.


What is the problem in an RTL text only in vault with default theme and restricted mode. post a screenshot when you get 1.0.3

I recently updated to 1.0.3. attached is both a screenshot and a file where such bug happens (this bug happens on each file where RTL is involved, not only this one).

testing file 1.md (307 Bytes)

post a screen recording of this happening in the sandbox vault.

Also it doesn’t look RTL is on your Obsidian because testing file 1 is not RTL.

I wasn’t able to attach my screen recording here, so I uploaded it to google drive, here is the link:
let me know if it is good enough or to make another one.
also, when I said RTL I meant the type of input (for example writing in Hebrew), and not a specific settings in obsidian.

ok and as I said before, we don’t support mixed RTL/LTR documents. There is an open FR for that https://forum.obsidian.md/t/mixed-rtl-and-ltr/34808

sorry, I don’t understand. The same thing happens when the file is only in RTL (for example the “testing file 1” I sent earlier. also, this didn’t happen before the update to 1.0.0.

if there is only RTL, enable obsidian RTL mode.

that only makes it worse (the text is still split vertically, but on the left side of the screen instead of the right).

that is not vanilla obsidian in rtl mode otherwise testing file 1 would be on the other side.

I see. in a different vault the RTL settings work, but as you mentioned rtl doesn’t work in a mixed settings (such as bullet list), I’ll take a look at the link you sent. thanks.

Steps to reproduce

Both in my regular vault and the sandbox vault, a long text (beyond a line width), at least under some circumstances that I was yet unable to pinpoint, is set with a huge negative text-indent and huge positive padding-inline-start in its element.style, leading to messed up text that spans a tiny column in the right.

  1. Open the Sandbox vault.
  2. Start a list (type - ), then type gibberish Hebrew text, or paste the text below:
  • כיעחלגכיע גכלחי כחעיכג חלכגי עחלכךי כחגלי חלכגי חגכלךי גכחלךי גכחלךיע גכחלךעי גכחךי עחךיגכ חךגכי חךכי חגכי עחגכל כג עכג עגכ גכיכגחל יע חגכיח כיחכלגד כיחעלגי עחכ

Expected result

The text should correctly wrap to the next line.
(This is unrelated to RTL – it happens in the default settings of the sandbox vault.)

Actual result

Instead of wrapping to the next line, the 2nd line is completely messed up. Inspecting the HyperMD-list-line element in the Developer Console shows text-indent: -673px and padding-inline-start: 677px.


  • Operating system: Linux
  • Debug info:
	Obsidian version: v1.1.12
	Installer version: v1.1.9
	Operating system: #1 SMP PREEMPT Sat Nov 26 00:40:25 UTC 2022 5.4.225-1-MANJARO
	Login status: logged in
	Catalyst license: insider
	Insider build toggle: on
	Live preview: on
	Legacy editor: off
	Base theme: dark
	Community theme: none
	Snippets enabled: 0
	Restricted mode: on


Additional information

I wasn’t aware of this open issue and the one I opened was merged here, so @WhiteNoise please allow me to clarify.
This issue has nothing to do with RTL mode, and certainly nothing to do with mixed RTL-LTR.
It is a regression – something that worked perfectly in Obsidian since literally day 1, before even the initial RTL plugin was released (by myself, BTW), let alone any follow-up RTL support.
It happens merely by writing a language like Hebrew in a normal, LTR note, in the sandbox vault without any special settings, which is something that always worked until one of the latest releases on which it broke.