Utilities

Farsi/Urdu Punctuation & Hamza Variants Cheatsheet

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

Alt codes & Unicode table

CharacterNameAlt codeUnicodeCopy
،Arabic/Persian commaUnicodeU+060C
؟Arabic/Persian question markUnicodeU+061F
؛Arabic/Persian semicolonUnicodeU+061B
ـtatweelUnicodeU+0640
ءhamzaUnicodeU+0621
أalef with hamza aboveUnicodeU+0623
إalef with hamza belowUnicodeU+0625
ؤwaw with hamza aboveUnicodeU+0624
ئyeh with hamza aboveUnicodeU+0626
آalef maddaUnicodeU+0622
۰Persian digit 0UnicodeU+06F0
۱Persian digit 1UnicodeU+06F1
۲Persian digit 2UnicodeU+06F2
۳Persian digit 3UnicodeU+06F3
۴Persian digit 4UnicodeU+06F4
۵Persian digit 5UnicodeU+06F5
۶Persian digit 6UnicodeU+06F6
۷Persian digit 7UnicodeU+06F7
۸Persian digit 8UnicodeU+06F8
۹Persian digit 9UnicodeU+06F9

Reference

Persian and Urdu: Hamza, Digits and Punctuation

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

Frequently Asked Questions

Do Alt codes work for these Arabic-script marks?

Windows Alt codes for hamza/punctuation vary by layout. Use Unicode/copy-paste or the online Persian/Urdu keyboard for reliable input.

How do I type them quickly?

Open the Persian keyboard online (works for Urdu too) and type with your physical keyboard; or copy from this table and paste anywhere.

Can I copy characters directly?

Yes—click Copy in the table and paste anywhere. No installation needed.

Do these work with the online keyboard?

Yes. Open the Persian keyboard online and type or paste them directly. Everything runs in your browser.

Why does Persian or Urdu numeric input fail validation?

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.

Why does searching Persian text often fail?

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.

Which hamza form should I use?

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.

What is the zero-width non-joiner for?

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.