Utilities
Copy/paste Persian and Urdu punctuation plus hamza characters fast. Unicode points and instant copy buttons for Arabic comma/question/semicolon, Urdu/Persian digits, hamza forms, and tatweel.
Characters & shortcuts
| Character | Name | Alt code | Unicode | Copy |
|---|---|---|---|---|
| ، | Arabic/Persian comma | Unicode | U+060C | |
| ؟ | Arabic/Persian question mark | Unicode | U+061F | |
| ؛ | Arabic/Persian semicolon | Unicode | U+061B | |
| ـ | tatweel | Unicode | U+0640 | |
| ء | hamza | Unicode | U+0621 | |
| أ | alef with hamza above | Unicode | U+0623 | |
| إ | alef with hamza below | Unicode | U+0625 | |
| ؤ | waw with hamza above | Unicode | U+0624 | |
| ئ | yeh with hamza above | Unicode | U+0626 | |
| آ | alef madda | Unicode | U+0622 | |
| ۰ | Persian digit 0 | Unicode | U+06F0 | |
| ۱ | Persian digit 1 | Unicode | U+06F1 | |
| ۲ | Persian digit 2 | Unicode | U+06F2 | |
| ۳ | Persian digit 3 | Unicode | U+06F3 | |
| ۴ | Persian digit 4 | Unicode | U+06F4 | |
| ۵ | Persian digit 5 | Unicode | U+06F5 | |
| ۶ | Persian digit 6 | Unicode | U+06F6 | |
| ۷ | Persian digit 7 | Unicode | U+06F7 | |
| ۸ | Persian digit 8 | Unicode | U+06F8 | |
| ۹ | Persian digit 9 | Unicode | U+06F9 |
Reference
Persian and Urdu both use the Arabic script but differ from Arabic in ways that matter for typing and for data handling. This table covers the shared punctuation, the hamza forms, and the Eastern Arabic-Indic digits that Persian and Urdu use where Arabic itself often uses a different set.
The digits are the most common source of silent errors. There are three competing sets in this script family. Western Arabic numerals are the familiar 0-9. Arabic-Indic digits ٠١٢٣٤٥٦٧٨٩ are used across much of the Arab world. Eastern Arabic-Indic digits ۰۱۲۳۴۵۶۷۸۹, the ones in the table, are used in Persian and Urdu. Four of these look identical or nearly so between the two Indic sets but are different codepoints — the Persian four ۴, five ۵ and six ۶ differ from the Arabic ٤, ٥ and ٦. Software that parses numbers, validates phone numbers or sorts data will silently mishandle these unless it normalises digits first. If Persian or Urdu numeric input is failing validation, this is almost always why.
The hamza is the glottal stop, and it is unusual in that it is written differently depending on the surrounding vowels rather than having one fixed form. It can sit alone as ء, or ride on a carrier letter: أ and إ on alif, ؤ on waw, and ئ on a dotless ya. The madda, آ, marks a long a at the start of a word. Which carrier is correct is determined by a set of rules about adjacent vowels, and Persian applies them somewhat differently from Arabic, so text copied between the two languages often carries the wrong form.
Two characters cause persistent trouble between Persian and Arabic. Persian uses ک (U+06A9) and ی (U+06CC) where Arabic uses ك (U+0643) and ي (U+064A). They look effectively identical in most fonts and are different characters. Text typed on an Arabic keyboard but intended as Persian will contain the Arabic forms, and searching for a Persian word will then fail. Normalising these two substitutions resolves the large majority of Persian search problems, and it is the standard first step in any Persian text pipeline.
The other thing to know is the zero-width non-joiner, used heavily in Persian to separate parts of compound words while keeping them visually distinct — it is what makes میشود display correctly. It is an invisible character, so it survives copy and paste but is easy to lose in systems that strip unusual codepoints, and losing it changes how words join. On Windows and Linux, use a Persian or Urdu layout; the Urdu phonetic layout is popular because it maps letters to matching Latin key positions. On macOS, select the Persian or Urdu input source. The zero-width non-joiner is usually Shift plus space on Persian layouts.
FAQ
Windows Alt codes for hamza/punctuation vary by layout. Use Unicode/copy-paste or the online Persian/Urdu keyboard for reliable input.
Open the Persian keyboard online (works for Urdu too) and type with your physical keyboard; or copy from this table and paste anywhere.
Yes—click Copy in the table and paste anywhere. No installation needed.
Yes. Open the Persian keyboard online and type or paste them directly. Everything runs in your browser.
Persian and Urdu use Eastern Arabic-Indic digits ۰۱۲۳۴۵۶۷۸۹, which are different codepoints from both Western digits and the Arabic-Indic set. Normalise digits before parsing.
Persian uses ک and ی where Arabic uses ك and ي. They look identical but are different characters, so Arabic-keyboard input will not match Persian text. Normalising these two fixes most cases.
It depends on the surrounding vowels: ء standalone, or carried on أ, إ, ؤ or ئ. Persian applies the rules slightly differently from Arabic, so copied text often carries the wrong carrier.
It separates parts of Persian compound words while keeping them visually distinct, as in میشود. It is invisible, so systems that strip unusual characters silently break word shaping.