🇸🇦

Saudi Arabia Number Format

CLDR Locale:
ISO: SA / SAURegion: AsiaDigits: eastern arabic

Try It — Live Preview

Number
١٬٢٣٤٬٥٦٧٫٨٩
Currency (SAR)
‏١٬٢٣٤٬٥٦٧٫٨٩ ر.س.‏
Percentage
١٬٢٣٤٬٥٦٨٪؜
Compact
١٫٢ مليون

Format Rules

Decimal Separator
٫٫
Thousands Separator
٬Arabic thousands separator (٬)
Grouping Pattern
3
Negative Format
؜-١٬٢٣٤٬٥٦٧٫٨٩
Currency Symbol
﷼ (SAR)
Currency Position
After number with space → ١٬٢٣٤٬٥٦٧٫٨٩ ﷼
Percent Position
Before number → ١٣٪؜
Zero
٠٫٠٠
Compact
١٫٢ مليون

Saudi Arabia formatting implementation notes

For Saudi Arabia, format numbers with the explicit locale ar-SA; the reference value 1234567.89 renders as ١٬٢٣٤٬٥٦٧٫٨٩.

Saudi Arabia's reference format uses "٫" as the decimal mark and Arabic thousands separator (٬) ("٬") for grouping. The integer uses repeating groups of three digits. Pass "ar-SA" directly to Intl.NumberFormat instead of replacing punctuation in a preformatted string.

SAR is shown with ﷼ after the amount with a separating space; the same reference value renders as ١٬٢٣٤٬٥٦٧٫٨٩ ﷼. The percent sign appears immediately before the amount. Use the ISO currency code for storage and interchange because a visible symbol can be shared by unrelated currencies.

Eastern Arabic-Indic digits are the page's reference digit system, and the negative pattern is -n. Treat ar-SA as the reference locale for this page, but still respect the user's explicitly selected language and numbering-system preferences. Validate output with formatToParts() when spacing, signs, or bidirectional literals affect the interface.

  • Locale: ar-SA
  • Decimal and grouping: ١٬٢٣٤٬٥٦٧٫٨٩
  • Currency: SAR → ١٬٢٣٤٬٥٦٧٫٨٩ ﷼
  • Digits: Eastern Arabic-Indic digits

Reviewed 19 July 2026. Sources: Unicode locale number formats · Intl.NumberFormat reference

What's different here

  • Decimal mark is the Arabic decimal separator (٫, U+066B) (en-US uses a period (.)).
  • Thousands are grouped with the Arabic thousands separator (٬, U+066C) (en-US uses a comma (,)).
  • The currency symbol goes after the amount with a space (en-US: immediately before the amount).
  • The percent sign goes immediately before the number (en-US: immediately after the number).
  • The reference digit system is Eastern Arabic-Indic digits (en-US: Western 0–9 digits).
  • Uses the same number pattern (decimal mark, grouping, symbol and percent placement) as Iran.
  • Nearby differences: United Arab Emirates (ar-AE) uses a period (.) as the decimal mark instead of the Arabic decimal separator (٫, U+066B) and groups with a comma (,) instead of the Arabic thousands separator (٬, U+066C).
  • Currency: SAR has ISO minor unit 2. The symbol ﷼ is also used by IRR in this directory.
  • If an interface needs Western 0–9 digits instead of Eastern Arabic-Indic digits, request them explicitly (for example numberingSystem: "latn") rather than converting output strings.
  • Postal address order: name → building → street number + street → district → city + postcode → country. See address formats.

Code Examples

// Basic number
new Intl.NumberFormat('ar-SA').format(1234567.89)
// → "١٬٢٣٤٬٥٦٧٫٨٩"

// Currency
new Intl.NumberFormat('ar-SA', {
  style: 'currency',
  currency: 'SAR'
}).format(1234567.89)
// → "١٬٢٣٤٬٥٦٧٫٨٩ ﷼"

// Percentage
new Intl.NumberFormat('ar-SA', {
  style: 'percent',
  minimumFractionDigits: 1
}).format(0.125)

// Compact notation
new Intl.NumberFormat('ar-SA', {
  notation: 'compact'
}).format(1234567)

Negative Number Formats

Standard؜-١٬٢٣٤٬٥٦٧٫٨٩
new Intl.NumberFormat('ar-SA').format(-1234567.89)
Accounting style؜-‏١٬٢٣٤٬٥٦٧٫٨٩ ر.س.‏
new Intl.NumberFormat('ar-SA', { style: 'currency', currency: 'SAR', currencySign: 'accounting' }).format(-1234567.89)

Edge Cases & Notes

Eastern Arabic-Indic numerals (٠١٢٣٤٥٦٧٨٩) by default. Use numberingSystem:'latn' for Western. Percent symbol (٪) comes before in Arabic.