What ﭘ means
Enter ordinary peh and let text shaping choose its form. For Persian or Urdu text, type پ; when it joins the next letter, the text system displays peh in its initial shape. This character is a stored positional form, not a separate sound.
As of 2026, Unicode guidance treats positional forms as shaping output and recommends base characters for text interchange. Some fonts may not include every encoded presentation form, so ordinary peh can display correctly even when this exact form does not.
Where did peh come from?
Peh joined Persian writing when Arabic script was adapted for Persian sounds. Persian had earlier writing traditions, including Pahlavi. Arabic-script Persian documents emerged in the 9th/10th centuries; the earliest surviving manuscript in that script dates from the beginning of the 10th century.
The added letter represents Persian /p/, a sound standard Arabic lacks. Persian adapted the script's existing letter shapes by adding dots: peh has three below a beh-shaped base. Urdu later carried this adapted Persian-script tradition into South Asian administration and literature.
Use ordinary peh in text; this encoded positional form is mainly for compatibility.
Using this form in ordinary text can reduce interoperability.
Part of the collection
Who writes ﭘ
Loading…
Don't confuse it with
3Questions people ask
2Is peh an Arabic or Persian letter?
Peh is used in Persian and Urdu, which write with an Arabic-derived script. Standard Arabic has no native letter for /p/; Persian added peh for that sound, and Urdu inherited the adapted script tradition.
Should I use this exact form in ordinary text?
Usually no. Enter ordinary peh and let shaping select its position; this encoded initial form is mainly for compatibility and may reduce interoperability.
How to type or find ﭘ
- Also called
- peh · pe · farsi peh
- Search it as
- urdu peh · arabic p · three-dot pe · p letter
- Shows up in
- Anything that takes text · its shape is whatever your font draws
ﭘ\FB58Codes and encoding1 code points
A visible symbol can contain several code points. JS .length counts UTF-16 units; UTF-8 counts bytes.




