Auto-RTL

Content-only RTL: p/li/blockquote + spans in content areas. First alphabetic char decides. Ultra-light (IO/MO/RAF). Per-domain toggle (OFF by default). Ctrl+Alt+R hotkey. Tiny, transparent edge toggle near scrollbar.

You will need to install an extension such as Tampermonkey, Greasemonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey to install this script.

You will need to install an extension such as Tampermonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey or Userscripts to install this script.

You will need to install an extension such as Tampermonkey to install this script.

You will need to install a user script manager extension to install this script.

(I already have a user script manager, let me install it!)

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

(I already have a user style manager, let me install it!)

Author
Momo21798
Daily installs
1
Total installs
2
Ratings
0 0 0
Version
0.4.3
Created
2025-09-21
Updated
2025-09-21
Size
9.98 KB
License
MIT
Applies to
All sites

Many websites (Substack, blogs, forums, etc.) don’t automatically handle Persian/Arabic right-to-left text correctly.

This script fixes that only for real content paragraphs, without breaking menus or buttons.

It scans p, li, blockquote, and inline span elements inside article/content containers.
It finds the first alphabetic character in each element.
If that character is Arabic or Persian, the script applies direction: rtl; and aligns the text properly.
If not, the element stays untouched.
Invisible characters, spaces, punctuation, etc. are skipped until the first real letter is found.
This way, mixed-language text looks natural and only paragraphs that truly start in Persian/Arabic switch to RTL.

By default, the script is off for every site.
To enable it for the current domain:
* Press Ctrl+Alt+R, or
* Click the tiny pill-shaped toggle that sits on the right edge of the screen, vertically centered near the scrollbar.

The toggle’s state is remembered per domain. Next time you visit, it’ll be the same as you left it.
Toggle again (or press the hotkey again) to turn it off.

This script was written quickly and then reviewed/refactored with the help of AI.
It's not perfect. if you notice issues, please leave a comment and I’ll try to fix them.

P.S. It works only on visible (or nearly visible) elements, to keep it very light on resources. It also handles infinite scroll and live content changes.