Iranian Persian uses ک U+06A9 and ی U+06CC. An Arabic keyboard or pasted Arabic text may insert ك U+0643, ي U+064A, or ى U+0649 instead. The sounds can be the same and some fonts make the shapes nearly identical, but a computer sees different characters. A visually plausible word can therefore fail a search, be marked wrong by exact grading, or form a second database entry.
This is an encoding error, not an informal Persian spelling. The canonical letters remain ک and ی in conversation, literature, academic writing, and official prose. Arabic quotations retain Arabic code points, but a Persian sentence should not inherit them merely because the scripts are related.
Know the stored identities
| Character | Unicode name and code point | Status in Iranian Persian | Frequent visual clue |
|---|---|---|---|
| ک | ARABIC LETTER KEHEH, U+06A9 | canonical Persian kaf | Persian isolated/final shape |
| ك | ARABIC LETTER KAF, U+0643 | Arabic input; replace in Persian | may show a small internal stroke |
| ی | ARABIC LETTER FARSI YEH, U+06CC | canonical Persian yeh | usually dotless when final |
| ي | ARABIC LETTER YEH, U+064A | Arabic input; replace in Persian | often keeps two dots finally |
| ى | ARABIC LETTER ALEF MAKSURA, U+0649 | not Persian yeh | can look deceptively dotless |
Unicode's standard normalization forms do not reliably convert these Arabic letters into their Persian counterparts. A Persian-aware application may add a language-specific replacement step, but a filename, search engine, spreadsheet, or learning platform may not. Canonical input is safer than hoping every later system repairs the text.
Common Mistakes
1. Pasting a whole Arabic-coded word
The first example looks Persian in many fonts, yet its kaf and yeh are Arabic code points. Retyping with an Iranian Persian keyboard produces canonical Persian data.
❌ اين كتاب براي علي است.
Incorrect Persian encoding — the line contains Arabic ي and ك rather than Persian ی and ک.
✅ این کتاب برای علی کنار گذاشته شده است.
in ketâb barâ-ye Ali kenâr gozâshte shode ast.
This book has been set aside for Ali. (written standard)
The correction is not merely cosmetic. Search for کتاب may miss كتاب, even when they appear alike. See Persian Kaf and Yeh for the joining forms.
2. Fixing kaf but leaving Arabic yeh
Mixed words are common after partial find-and-replace. A final Arabic ي may display dots and is easier to notice, while Arabic ى can look exactly like Persian ی.
❌ صندلي كنار پنجره خالي است.
Incorrect encoding — صندلي and خالي contain Arabic yeh, and كنار contains Arabic kaf.
✅ صندلی کنار پنجره برای مهمان خالی است.
sandali-ye kenâr-e panjare barâ-ye mehmân khâli ast.
The chair by the window is free for the guest.
Inspect the whole token, not only its first suspicious letter. One Arabic code point is enough to split search results.
3. Using alef maqsura as a dotless Persian yeh
Arabic ى is a different letter, not an alternative final glyph that Persian typists should select. A font may conceal the difference completely.
❌ اين صندلى چوبى شكسته است.
Incorrect Persian encoding — final Arabic alef maqsura and Arabic yeh have replaced Persian ی.
✅ این صندلی چوبی پایهی شکستهای دارد.
in sandali-ye chubi pâye-ye shekaste-i dârad.
This wooden chair has a broken leg.
Do not choose a character because its isolated shape looks dotless. Type ی and let the font draw the appropriate contextual form.
4. Combining Arabic yeh with a Persian ZWNJ boundary
A correct half-space does not repair the wrong letter next to it. The prefix in standard میروم must contain Persian ی, followed by U+200C.
❌ من هر روز با اتوبوس ميروم.
Incorrect mixed encoding — the ZWNJ boundary is present, but the prefix ends in Arabic ي.
✅ من روزهای بارانی با اتوبوس به اداره میروم.
man ruz-hâ-ye bârâni bâ otobus be edâre mi-ravam.
On rainy days I go to the office by bus.
The data contains two separate requirements: U+06CC for Persian yeh and U+200C for the morphological boundary. Spaces, Half-Spaces, and the ZWNJ explains the second requirement.
5. Trusting visual search results
An exact search may return one spelling and miss its look-alike. This affects names, tags, filenames, glossaries, and automated assessment—not just running prose.
❌ فايل كارآموزى را با نام قديمي ذخيره كردم.
Incorrect Persian encoding — several Arabic kaf and yeh characters can make the filename and search key inconsistent.
✅ فایل کارآموزی را با نام فارسی یکسان ذخیره کردم.
fâyl-e kâr-âmuzi râ bâ nâm-e fârsi-ye yeksân zakhire kardam.
I saved the internship file with a consistent Persian name.
When cleaning a collection, search explicitly for U+0643, U+064A, and U+0649, replace them with the Persian letters, and then inspect ZWNJs and spaces separately. Do not assume a visually deduplicated list is digitally deduplicated.
6. Assuming every rejected answer is a Unicode problem
Character inspection should come before grammatical diagnosis, but it cannot fix a sentence whose roles are wrong. The following first sentence uses canonical Persian letters and is grammatical; it simply means “he/she gave me Ali's book,” not “Ali gave me the book.”
⚠️ کتاب علی را به من داد.
ketâb-e Ali râ be man dâd.
Grammatical, but wrong for the intended meaning ‘Ali gave me the book’: کتاب علی is parsed as ‘Ali's book.’
✅ علی کتاب تازه را بعد از کلاس به من داد.
Ali ketâb-e tâze râ ba'd az kelâs be man dâd.
Ali gave me the new book after class.
This pair prevents overdiagnosis. First confirm code-point identity; then check word order, ezâfe, and object marking.
7. Replacing only what the font reveals
Some fonts distinguish Arabic and Persian letters strongly; others make them almost identical. A visual fix can therefore succeed on one device and fail on another.
❌ كودك در پارك بازي ميكند.
Incorrect encoding — the sentence contains Arabic kaf and yeh even if the current font hides the difference.
✅ کودک در پارک نزدیک خانه بازی میکند.
kudak dar pârk-e nazdik-e khâne bâzi mi-konad.
The child is playing in the park near the house.
Use a code-point inspector, a Unicode-aware regular expression, or retype with an Iranian Persian layout. Font shape is evidence about rendering, not stored identity.
8. Repairing Arabic quotations indiscriminately
Arabic text quoted as Arabic should retain its language's code points and orthography. The repair rule applies to Iranian Persian text, metadata, and search keys. Converting an authenticated Arabic quotation merely to make it look Persian corrupts the source.
⚠️ متن فارسی و نقلقول عربی را بدون تشخیص زبان یکسانسازی کردم.
matn-e fârsi va naql-qowl-e arabi râ bedun-e tashkhis-e zabân yeksân-sâzi kardam.
The sentence is grammatical, but it describes an unsafe editorial workflow: canonicalization must distinguish Persian spans from genuine Arabic quotations.
✅ ویراستار فقط بخشهای فارسی سند را با نویسههای فارسی یکسانسازی کرد.
virâstâr faghat bakhsh-hâ-ye fârsi-ye sanad râ bâ nevise-hâ-ye fârsi yeksân-sâzi kard.
The editor normalized only the Persian sections of the document with Persian characters.
A safe repair workflow
Choose the Iranian Persian keyboard layout. For pasted text, make a recoverable copy, identify Arabic kaf and yeh variants by code point, replace only Persian-language spans, and rerun search or grading tests. Then audit ZWNJ and ordinary spaces because character replacement does not repair boundaries. Finally, visually inspect the text in more than one font without treating the font as authoritative.
Key Takeaways
- Canonical Iranian Persian uses ک U+06A9 and ی U+06CC.
- Arabic ك، ي، ى may look identical but remain different searchable data.
- Ordinary Unicode normalization does not guarantee Persian-specific replacement.
- Correct letter identity and correct ZWNJ placement are independent requirements.
- Repair only Persian spans; genuine Arabic quotations keep Arabic orthography.
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
- Persian Kaf and Yeh: ک and یA1 — Recognize, type, and search with the Persian forms ک and ی instead of their deceptively similar Arabic Unicode counterparts.
- Typing Persian on a Standard KeyboardA2 — Set up a Persian layout and type letters, digits, punctuation, and ZWNJ in correct logical and Unicode form.
- 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.
- Unicode Forensics for Persian EditorsC2 — Diagnose invisible controls, presentation forms, confusable Persian characters, and clean text without changing its linguistic skeleton.
- Joining Forms: Isolated, Initial, Medial, FinalA1 — Learn why one Persian letter changes shape according to its cursive connections and how fonts choose each form.