Currency and formatting
- Currency
- South African Rand (ZAR)
- Symbol
- R — placed before the amount
- Decimal places
- 2
- Formatted example
- R123 456,78
- Thousands separator
- Decimal separator
- ,
- Digit grouping
- threes (3)
- Live rate
- 1 USD = 16.371064794628 ZAR (ecb, 2026-07-16)
Tax
- 0% — zero rated
Payment methods in South Africa
Roughly ordered by real-world use — not by what a card processor would prefer you offer.
- 01 card
- 02 instant eft
- 03 capitec pay
- 04 snapscan
- 05 apple pay
Card schemes that work domestically: visa, mastercard, amex. 3-D Secure is standard practice; strong customer authentication is not legally mandated.
Locale
- Primary
- en-ZA
- Also used
- af-ZA, zu-ZA
- Official languages
- English
- Regional
- Zulu, Xhosa, Afrikaans, Northern Sotho, Tswana, Southern Sotho, Tsonga, Swati, Venda, South Ndebele
- Direction
- left-to-right
- Date format
- YYYY/MM/DD
- Measurement
- metric
- GDPR applies
- no
Phone numbers
- Calling code
- +27
- Mobile format
- +27 XX XXX XXXX
- Digits
- 9
South Africa: common questions
What currency does South Africa use?
South Africa uses the South African Rand (ZAR), symbol R. It uses 2 decimal places, formatted as R123 456,78.
How many decimal places does ZAR have?
ZAR has 2 decimal places. Charging with the wrong number of minor units is a 100× error, so this is worth getting right.
What is the VAT rate in South Africa?
The standard VAT rate in South Africa is 15.00%. Prices are displayed tax-inclusive.
What payment methods are used in South Africa?
The methods that matter in South Africa, in rough order of use: card, instant eft, capitec pay, snapscan, apple pay.
What is the dialling code for South Africa?
South Africa's country calling code is +27. Mobile numbers are formatted +27 XX XXX XXXX (9 digits after the country code).
API_
Get this from the API instead
Everything on this page is one call away — plus live FX, fraud signals and the visitor's own detected country.
curl "https://api.localesense.com/v1/countries/ZA" \
-H "Authorization: Bearer ls_live_..."