How a South African address is written
A South African street address lists the complex and unit (if any), then the street number and name, the suburb, the city or town and the four-digit postal code: Unit 12, Protea Gardens / 48 Jacaranda Street / Hatfield / Pretoria / 0083. Gated complexes, townhouse developments and security estates are very common, so the complex name and unit number are often the most important lines for a courier. Afrikaans street names keep their own suffixes (Kerkstraat, Voortrekkerweg), which do not fit a separate “street type” field.
The suburb is essential: the same street name repeats in many suburbs of one city, so the suburb is what makes an address unique. The province is not usually written on mail but many forms ask for it.
Postal codes
The South African Post Office (SAPO) uses four-digit postal codes. An important quirk is that a suburb can have one code for street delivery and a different one for PO boxes at its post office, so a box address and a street address in the same suburb may legitimately show different codes. Codes are grouped by region: Pretoria and the north of Gauteng start with 0 (0083 for Hatfield), Johannesburg uses 2000–2199, Durban 4000s, Cape Town 7000s and 8000s, and Bloemfontein 93xx.
Because Pretoria, Polokwane and Rustenburg codes begin with zero, storing postal codes as integers turns 0083 into 83. The generator keeps the leading digits right for each city; the last digits are random.
Provinces and renamed places
South Africa has nine provinces: Eastern Cape, Free State, Gauteng, KwaZulu-Natal, Limpopo, Mpumalanga, North West, Northern Cape and Western Cape. Several cities have been renamed, and both names stay in circulation: Port Elizabeth became Gqeberha in 2021, Nelspruit is now Mbombela and Pietersburg is Polokwane. Pretoria lies in the City of Tshwane metropolitan municipality. Address autocomplete and fraud checks should accept old and new names for the same place.
Testing tips
- Make the complex and unit fields optional but long enough for names like
Riverside Manor Security Estate. - Store postal codes as four-character strings and validate them with
^\d{4}$. - Test suburbs with spaces, hyphens and Afrikaans words (
Onder-Papegaaiberg,Die Boord). - Don’t require the province on mail labels, but keep it in your data model for tax and delivery zones.
- Expect rural addresses with farm names instead of street numbers.
Using the data in fixtures
Seed staging with a mix of complex units and freestanding houses from several provinces. Include Pretoria and Polokwane addresses so that codes with a leading zero pass through imports, spreadsheets and courier APIs intact — spreadsheet software in particular likes to turn 0083 into 83.
What is not generated
The tool does not generate South African ID numbers, which encode a real date of birth and other personal details. Street names come from generic words such as trees, birds and landscape terms; suburbs and code ranges are real, but the full addresses are fictional.
Provinces of South Africa
The generator uses the 9 first-level provinces below, with the codes used in addresses. Cities are picked from 17 places spread across the country, each with postcodes from its own range.
- ECEastern Cape
- FSFree State
- GPGauteng
- KZNKwaZulu-Natal
- LPLimpopo
- MPMpumalanga
- NWNorth West
- NCNorthern Cape
- WCWestern Cape
Example South Africa test addresses
48 Jacaranda Street
Hatfield
Pretoria
0083
South Africa
Morningside
Durban
4001
South Africa
Validation pattern used for the Postal code: ^\d{4}$. It checks the format only — whether a code is actually in use is known only to the postal operator.
Phone numbers in South Africa test data
South African numbers have ten digits domestically, for example 082 XXX XXXX for a mobile or 011 for Johannesburg landlines, and +27 internationally without the 0. We know of no officially reserved fictional range for South Africa, so the generator leaves the phone field blank rather than inventing numbers that may be in use.
Sources
- South African Post Office – postal codes
- Wikipedia – List of postal codes in South Africa
- ISO 3166-2:ZA (Wikipedia)
Postcode ranges, region lists and address conventions checked against these sources in October 2026. Street names in the generator are synthetic.
Other countries: United StatesUnited KingdomCanadaAustraliaIndiaGermanyFranceSpainItalyNetherlandsBrazilMexicoJapanPhilippinesPakistanNigeriaTurkeyIndonesiaUnited Arab Emirates
Frequently asked questions
How many digits is a South African postal code?
Four. Codes in and around Pretoria start with 0, so always store them as text.
Why do street and PO box addresses have different postal codes?
SAPO assigns separate codes for street delivery and for boxes at a post office, so the same suburb can have two codes.
Is Port Elizabeth the same as Gqeberha?
Yes. The city was officially renamed Gqeberha in 2021, and both names are still used in addresses.
Is this a real address in South Africa?
No. The city, province and postcode format are real, but the street and house number are random. Use the addresses for testing forms, databases and shipping-rate logic, never to send mail or goods.