Western or Eastern Arabic digits?
Two sets of digits
Arabic text can use Western digits (0 1 2 3 4 5 6 7 8 9), often called Latin digits, or Eastern Arabic-Indic digits (٠ ١ ٢ ٣ ٤ ٥ ٦ ٧ ٨ ٩). Both are valid. Preference varies by country, by age and by context, so there is no single correct answer for every Arabic audience.
The two sets are separate numbering systems with different glyphs, not different languages. A product can show Arabic text with Western digits, or Eastern digits next to Latin text. Treat the digit choice as its own design decision.
Practical rules
- Be consistent on a screen. Mixing both digit sets in one view looks like an error.
- Phone numbers, prices and IDs need extra care. People copy them, compare them and type them into other systems, so choose the set the audience expects there.
- Check charts and tables. Axis labels, legends and column totals must use the same digits as the surrounding text, or the data looks as if it came from two sources.
- Decide once, in the design system. Write the choice down with examples for prices, dates, times and quantities, so every screen follows it.
- Keep digits readable in the chosen font. Check that both sets exist in the typeface and look balanced next to the Arabic letters.
Choosing the set in code
The <code>Intl.NumberFormat</code> API picks digits from the locale tag. Which digits a locale such as <code>ar-EG</code> produces depends on the browser and its data, so do not assume. To force Latin digits, add the numbering-system extension to the tag.
For example, <code>new Intl.NumberFormat('ar-u-nu-latn').format(1234)</code> asks for Latin digits in Arabic, while <code>nu-arab</code> asks for Eastern Arabic-Indic digits.
The same idea applies to dates, times and percentages. Pass the locale and the numbering system explicitly in one shared helper, so every screen formats values in the same way and a later change touches one place only.
Format numbers with the Intl API instead of building strings by hand.
Let the audience decide
Do not rely on assumptions about a country or an age group. Ask target users which digits they expect, observe how they write numbers in forms, and look at the digits used by well-known local products in the same category.
Search and input also deserve a plan. Users may type digits from either set, so decide whether the product accepts both and converts them before validation, instead of rejecting one of them with an error.
If the audience is mixed, let users choose in settings, and apply the choice everywhere.
Sources
- MDN Web Docs. Intl.NumberFormat. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat
This guide was drafted with AI assistance from public standards and references. For the exact wording of a standard, use the sources listed above.