Correct text direction and Persian font for RTL languages on any site — script-ratio detection, not first-strong guessing.
Users
72
+51 in 30 days
Rating
5.0 / 5
unchanged in 30 days
Ratings
2
0 in 30 days
Store rank
#96K
#80K among extensions
Version
1.0.0
updated 21 Aug 2026
Users
monthly, 2 months
Latest, 18 Oct 2026:72 usersMove the mouse over the chart for any month
Ratings count
monthly, 2 months
Latest, 18 Oct 2026:2 ratingsMove the mouse over the chart for any month
The Chrome Web Store rounds user counts down to the leading digit, so the user line moves in steps. The ratings count is exact and is the better signal of real adoption.
About Parsi RTL
Right-aligned is not right-to-left.
The usual fix for RTL text on the web is `unicode-bidi: plaintext`, which applies
the Unicode first-strong rule: a paragraph takes its direction from its first
strongly-directional character. That is wrong for the most common Persian
sentence shape — one that opens with an English technical term:
Gemini web app رو Google سرو میکند (تو نمیتونی local app رو modify کنی)
First-strong sees the "G", lays the entire line out left-to-right, and the
trailing parenthesis and clause order visually scramble. You end up reading a
Persian sentence from the wrong end.
Parsi RTL decides the direction of every block by SCRIPT RATIO instead: a
Persian sentence carrying English terms stays right-to-left, an English sentence
with one Persian word stays left-to-right. The decision is written onto the
element as a real `dir` attribute, so caret movement, text selection and
punctuation mirroring follow it too — things a CSS-only fix cannot reach.
WHAT IT DOES
• Every RTL script, not just Persian — Arabic, Urdu, Pashto, Kurdish, Sindhi,
Hebrew, Syriac, Thaana, N'Ko, Adlam.
• Works while answers stream in. AI chat replies arrive token by token, so a
one-shot pass on page load fixes nothing; a frame-batched observer keeps up
without the per-token slowdown a naive script causes.
• Your code blocks stay left-to-right — including inline code inside an RTL
sentence, and tables.
• The composer follows what you type: the input's direction updates live.
• Vazirmatn is bundled and applied only to blocks judged RTL, so icon fonts
survive. A checkbox turns the font off while keeping the direction fix.
• Per-site off switch, from the popup or with Alt+R (macOS: Option+R).
• Right-click any block to force its direction by hand; the automatic pass never
overrides your choice.
• The popup reports whether the script is live in the tab and how many blocks it
switched — you can always tell it is working.
PRIVACY
No network requests, no analytics, no account. The font ships inside the
extension instead of being fetched from a CDN. The only stored values are your
per-site off list and the font checkbox, in local storage on your machine.
Open source: https://github.com/su6i/parsi-rtl