Reading and Typing Persian Left to Right

Persian is displayed from right to left, but you still type every word and sentence in logical reading order. To enter سلام, press the keys for س, then ل, then ا, then م; the software places the growing word toward the left. Typing the visually leftmost letter first stores a different sequence and produces the wrong word.

Most beginner direction errors come from confusing three things: stored character order, visual placement, and cursor movement. Unicode stores text in the order it is read. A bidirectional renderer decides where Persian, digits, punctuation, and Latin fragments appear. The cursor marks a boundary in that stored sequence, although its jump on screen can look surprising beside a number or an English filename.

Diagnose the line before retyping it

SymptomLikely causeReliable correction
letters of one word are reversedtyping by visual positiondelete the word and retype it in reading order
digits have changed place valuereversing an internally LTR numbertype the first spoken digit first
question mark appears at the beginningentering punctuation before the sentencetype punctuation after the last logical word
cursor seems to jumpcrossing between RTL and LTR runsmove by words or select the whole run before editing
می and the verb look detachedordinary space used instead of ZWNJinsert U+200C at the morpheme boundary
Latin filename moves punctuationneutral characters near mixed-direction textkeep the filename as one LTR run and let the renderer position it

These rules are register-neutral. A formal contract, literary novel, academic article, and informal message all use the same underlying direction system.

Common Mistakes

1. Entering a word backward

The English-trained eye sees the finished left edge and may try to begin there. That stores the reverse sequence; joining behavior cannot repair it.

❌ مالس، حال شما چطور است؟

Incorrect — مالس stores the letters of سلام in reverse logical order.

✅ سلام، امروز حال شما چطور است؟

salâm, emruz hâl-e shomâ chetor ast?

Hello, how are you today?

Type the first sound first and watch the renderer extend the word. Do not use arrow keys to rearrange letters until the visual form “looks right.” The full direction model is explained on Right-to-Left Reading and Mixed-Direction Text.

2. Reversing subject and object by scanning from the left

Persian neutral clause order is subject–object–verb even though its visual line advances leftward. Reading the visually leftmost noun as the subject can reverse who did what. The following erroneous choice is grammatical Persian, but it conveys the unintended event.

⚠️ مینا رضا را جلوی سینما دید.

Minâ Rezâ râ jelow-ye sinemâ did.

Grammatical, but wrong for the intended meaning ‘Reza saw Mina’: this sentence means ‘Mina saw Reza.’

✅ رضا مینا را جلوی سینما دید.

Rezâ Minâ râ jelow-ye sinemâ did.

Reza saw Mina in front of the cinema.

The object marker را follows مینا in the correction. Direction changes visual scanning, not syntactic constituency.

3. Typing sentence-final punctuation first

The Persian question mark ؟ belongs logically after the sentence, so it normally appears at the visual left end. A comma is ،, and a semicolon is ؛. Enter them only when you reach that point in reading order.

❌ ؟فردا برای ناهار می‌آیید

Incorrect logical placement — the question mark was entered before the sentence.

✅ فردا برای ناهار می‌آیید؟

fardâ barâ-ye nâhâr mi-âyid?

Are you coming for lunch tomorrow?

⚠️ جلسه تمام شد، همه از سالن بیرون رفتند.

jalase tamâm shod, hame az sâlon birun raftand.

Understandable and common in light prose, but a Persian semicolon or conjunction marks the boundary between these complete clauses more clearly.

✅ جلسه تمام شد؛ همه آرام از سالن بیرون رفتند.

jalse tamâm shod; hame ârâm az sâlon birun raftand.

The meeting ended; everyone quietly left the hall. (written standard)

4. Reversing digits inside a Persian line

A Persian sentence is RTL, but a multi-digit number is an internally LTR island. Type the digits in place-value order. The digit sequence ۱۲۳ is one hundred twenty-three; reversing it produces ۳۲۱, a different valid number.

✅ اتاق ۳۲۱ در طبقه‌ی سوم است.

otâq-e si-sad-o-bist-o-yek dar tabaqe-ye sevvom ast.

Room 321 is on the third floor. This is grammatical, but it is the wrong room number for the intended message.

✅ اتاق ۱۲۳ کنار آسانسور طبقه‌ی سوم است.

otâq-e sad-o-bist-o-se kenâr-e âsânsur-e tabaqe-ye sevvom ast.

Room 123 is beside the elevator on the third floor.

The same principle applies to dates, prices, and model numbers. Read the whole numeral, then resume the Persian line. Do not judge stored digit order from where a weak editor happens to place a colon or parenthesis.

💡
Direction is nested: the sentence runs right to left, while the digits inside one number and the letters inside one Latin filename remain left to right.

5. Repairing a mixed-direction line with random spaces

Latin abbreviations and filenames form their own LTR runs. Extra spaces may move punctuation temporarily while corrupting the actual text. Keep such a fragment intact and, in publishing software, use direction-aware markup rather than manual rearrangement. The same danger is easy to demonstrate with a year inside Persian prose.

❌ نسخه‌ی ۲ ۰ ۲ ۶ گزارش را فرستادم.

Incorrect — spaces were inserted inside the year ۲۰۲۶ in an attempt to control its visual position.

✅ گزارش مالی سال ۲۰۲۶ را برای مدیر فرستادم.

gozâresh-e mâli-ye sâl-e do-hezâr-o-bist-o-shesh râ barâ-ye modir ferestâdam.

I sent the 2026 financial report to the manager.

Selection may look discontinuous when it crosses a direction boundary. Undo the edit if necessary, select the entire number or Latin fragment, and replace it as one unit.

6. Using a visible hyphen or space instead of ZWNJ

Direction is also encoded at invisible boundaries. Standard می‌روم contains U+200C between می and روم. A normal space makes two orthographic words; a Latin hyphen inserts a visible foreign character.

❌ من هر روز پیاده می-روم.

Incorrect Persian orthography — a visible Latin hyphen was used instead of ZWNJ.

✅ من بیشتر روزها پیاده به دانشگاه می‌روم.

man bishtar-e ruz-hâ piyâde be dâneshgâh mi-ravam.

Most days I walk to the university.

On a Persian keyboard, learn the actual ZWNJ shortcut rather than copying an invisible character from another word. Spaces, Half-Spaces, and the ZWNJ shows the morphological boundaries that require it.

7. Breaking visible letter gaps into words

Letters such as ا، د، ذ، ر، ز، ژ، و do not connect forward. Their natural visual gap is not a typed space. Splitting دانشگاه creates two unrelated fragments.

❌ نشانی دا نشگاه را پیدا نکردم.

Incorrect — the gap after ا is caused by a non-connecting letter, not a word boundary.

✅ نشانی دانشگاه هنر را روی نقشه پیدا کردم.

neshâni-ye dâneshgâh-e honar râ ru-ye naqshe peydâ kardam.

I found the address of the University of Art on the map.

8. Typing final-he ezâfe as separate words

After silent ه, modern standard Persian writes ه‌ی with a ZWNJ. The independent-looking spelling خانه ی loses the canonical boundary.

❌ خانه ی دوستم نزدیک پارک است.

Incorrect edited spelling — the ezâfe after silent ه must be ه‌ی, not a space plus ی.

✅ خانه‌ی دوستم روبه‌روی پارک محله است.

khâne-ye dust-am rube-ru-ye pârk-e mahalle ast.

My friend's house is across from the neighborhood park.

A five-minute keyboard routine

Type one ordinary word, one می‌ verb, one plural in ـها, one Persian number, and one question every day. After each line, move the cursor by whole words and inspect where it crosses the digit or Latin run. If a word is corrupted, delete and retype it logically rather than patching its visual shape character by character.

Use an Iranian Persian keyboard, keep automatic paragraph direction enabled, and test pasted text in an editor that can reveal Unicode characters. These habits are more reliable than memorizing where a particular app visually places the caret.

💡
When the screen surprises you, preserve logical order first. Rendering problems should be fixed with paragraph direction or markup, never by reversing Persian letters.

Key Takeaways

  • Type Persian in reading order; the renderer supplies right-to-left visual placement and joining.
  • Treat digit sequences and Latin strings as internally left-to-right islands.
  • Enter punctuation at its logical point after the preceding text.
  • Cursor jumps near mixed-direction runs are display behavior, not instructions to reverse data.
  • Spaces, ZWNJs, and natural gaps after non-connectors are three different things.

Now practice Farsi

Reading grammar gets you part of the way. The exercises are where it sticks — free, no signup needed.

Start learning Farsi

Related Topics