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
| Symptom | Likely cause | Reliable correction |
|---|---|---|
| letters of one word are reversed | typing by visual position | delete the word and retype it in reading order |
| digits have changed place value | reversing an internally LTR number | type the first spoken digit first |
| question mark appears at the beginning | entering punctuation before the sentence | type punctuation after the last logical word |
| cursor seems to jump | crossing between RTL and LTR runs | move by words or select the whole run before editing |
| می and the verb look detached | ordinary space used instead of ZWNJ | insert U+200C at the morpheme boundary |
| Latin filename moves punctuation | neutral characters near mixed-direction text | keep 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.
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.
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
- Right-to-Left Reading and Mixed-Direction TextA1 — Understand Persian visual order, logical character order, punctuation, numbers, and Latin insertions in right-to-left lines.
- Typing Persian on a Standard KeyboardA2 — Set up a Persian layout and type letters, digits, punctuation, and ZWNJ in correct logical and Unicode form.
- Persian Punctuation: ، ؛ ؟ and MoreA2 — Use Persian commas, semicolons, question marks, quotation marks, and brackets correctly in right-to-left text.
- Persian Digits ۰۱۲۳۴۵۶۷۸۹A2 — Read and type Persian digits, keep multi-digit numbers in place-value order, and use Persian decimal and thousands separators.
- Spaces, Half-Spaces, and the Zero-Width Non-JoinerA2 — Learn how Persian distinguishes word spaces, invisible half-spaces, and natural cursive breaks inside a word.