# Historical vehicle registration plates of South Africa

This short description is INTENTIONALLY "none" &#x2D; please see WP:SDNONE before you consider changing it! Before 1994, South Africa had only four provinces: Cape Province, Natal Province, Orange Free State and Transvaal. Each province had its own identifying lettering: Cape – C, Natal – N, Orange Free State – O and Transvaal – T.

## Pre 1980

White letters on a black background were used across the country, including the military. For example: CC 147
Each town had a unique registration prefix followed by a number that was allocated sequentially from 1 (the mayor's vehicle) onward to 999 999. For trade plates (used by car dealers on un-licensed vehicles), the letters and numbers were swapped.
There were no personalised number plates.

### Government

Government vehicles used the letters GG (for Government Garage) as a prefix, followed by a sequential number. For example: GG 4321
* Three government services and a government agency used their own registration codes:
* DW – Department of Water Affairs.
* P – Post Office (including telecommunications).
* SAS-R – South African Railways road motor service.
* BT – Bantu Trust.

### Military

Military vehicles used the letter U (for Union Defence Force) as a prefix until 1961, when U was replaced by R (for Republic of South Africa), followed by a sequential number. Examples: U 4321 R 54321 On armoured vehicles especially, the numbers were painted in white on the green paint of the bodywork, or in black on desert sand paint.

### Police

Police vehicles used the letters SAP as a prefix, followed by a sequential number. For example: SAP 4321
However, many police vehicles were registered locally and carried the registrations used in the four provinces.

### Diplomatic corps

Diplomatic vehicles used the letters DC as a prefix, followed by a sequential number. For example: DC 4321

## Cape Province

The towns in the Cape Province were originally assigned two-letter prefixes for the principal cities and towns, with smaller centres allocated three-letter codes. CA represented the largest city, Cape Town, CB the second-largest, Port Elizabeth, CC was Kimberley, CD King William's Town, CE East London, CF Grahamstown, CG Oudtshoorn, CH Queenstown, CI Worcester, CJ Paarl, CK Malmesbury and CL Stellenbosch. By the middle of the 20th century it was realised that the letter I was easily confused with the figure 1 and Q with O and 0, while odd codes had been introduced with the small letter o tagged on. So the system was revised, eliminating the o codes, and extra two-letter codes were allocated: CM De Aar, CN Wellington, CO Calitzdorp, CR Hopefield, CS Bredasdorp, CT Ceres, CU Port Nolloth, CV Vredendal, CW Worcester, CX Knysna, CY Bellville and CZ Beaufort West. The full list of Cape Province prefixes (with present-day provinces in brackets) was:
Cape Province :
| Registration | Location |
| CA | Cape Town, including the magisterial districts of Wynberg and Simon's Town (Western Cape) Afrikaans: Kaapstad. |
| CAB | Aberdeen (Eastern Cape) |
| CAC | Burgersdorp (Eastern Cape) Dutch: Burghersdorp. Magisterial district of Albert. |
| CAD | Alexandria & Paterson (Eastern Cape) |
| CAE | Aliwal North (Eastern Cape) Afrikaans: Aliwal-Noord. |
| CAF | Barkly East (Eastern Cape) Afrikaans: Barkly-Oos. |
| CAG | Barkly West (Northern Cape) Afrikaans: Barkly-Wes. |
| CAH | Port Alfred & Bathurst (Eastern Cape) District of Lower Albany. |
| CAJ | Bedford (Eastern Cape) |
| CAL | Britstown (Northern Cape) |
| CAM | Caledon & Kleinmond (Western Cape) |
| CAN | Calvinia, Brandvlei & Loeriesfontein (Northern Cape) |
| CAO | Carnarvon (Northern Cape) |
| CAP | Cathcart (Eastern Cape) |
| CAR | Clanwilliam & Lambert's Bay (Western Cape) |
| CAS | Colesberg (Northern Cape) |
| CAT | Cradock (Eastern Cape) |
| CAU | Fort Beaufort (Eastern Cape) District of Victoria East. |
| CAV | Fraserburg (Northern Cape) |
| CAW | George (Western Cape) |
| CAX | Lady Frere & Glen Grey district (Eastern Cape) Became part of Transkei and used the code XR (Cacadu district). |
| CAY | Upington (Northern Cape) Was part of British Bechuanaland. |
| CAZ | Graaff-Reinet & Nieu-Bethesda (Eastern Cape) |
| CB | Port Elizabeth (Eastern Cape) Now part of Nelson Mandela Bay. |
| CBA | Hanover (Northern Cape) |
| CBB | Griquatown (Northern Cape) Afrikaans: Griekwastad. Was part of Griqualand West. |
| CBC | Douglas (Northern Cape) Was part of Griqualand West. |
| CBD | Herschel (Eastern Cape) Became part of Transkei and used the code XT. |
| CBE | Hopetown & Strydenburg (Northern Cape) |
| CBF | Humansdorp & Jeffreys Bay (Eastern Cape) |
| CBG | Jansenville (Eastern Cape) |
| CBH | Kenhardt (Northern Cape) |
| CBJ | Komga (Eastern Cape) Dutch: Komgha; now called Qumra. |
| CBK | Kuruman (Northern Cape) Now Kudumane. |
| CBL | Ladismith (Western Cape) |
| CBM | Laingsburg (Western Cape) |
| CBN | Mafeking (North West Province) When it was part of Bophuthatswana, the town's name was spelt Mafikeng; today it is Mahikeng. It used the Molopo district code YBA. |
| CBO | Hofmeyr (Eastern Cape) Magisterial district of Maraisburg (the town's original name). |
| CBP | Middelburg (Eastern Cape) |
| CBR | Montagu (Western Cape) |
| CBS | Mossel Bay & Hartenbos (Western Cape) Afrikaans Mosselbaai. |
| CBT | Murraysburg (Western Cape) |
| CBU | Springbok (Northern Cape) Namaqualand district. |
| CBV | Pearston (Eastern Cape) |
| CBW | Peddie (Eastern Cape) Was part of British Kaffraria; became part of Ciskei and used the code GCF. |
| CBX | Philipstown, with Petrusville & Vanderkloof (Northern Cape) |
| CBY | Piketberg (Western Cape) |
| CBZ | Prieska (Northern Cape) |
| CC | Kimberley (Northern Cape) Was capital of Griqualand West. |
| CCA | Prince Albert (Western Cape) Afrikaans: Prins Albert. |
| CCB | Richmond (Northern Cape) |
| CCC | Riversdale & Stilbaai (Western Cape) Afrikaans: Riversdal. |
| CCD | Robertson & McGregor (Western Cape) |
| CCE | Somerset East (Eastern Cape) Afrikaans: Somerset-Oos. |
| CCF | Steynsburg (Eastern Cape) |
| CCG | Steytlerville (Eastern Cape) |
| CCH | Seymour (Eastern Cape) Became part of Ciskei and used the code GCH (Mpofu district). |
| CCJ | Sutherland (Northern Cape) |
| CCK | Swellendam & Barrydale (Western Cape) |
| CCL | Tarkastad (Eastern Cape) |
| CCM | Tulbagh (Western Cape) |
| CCN | Uitenhage & Despatch (Eastern Cape) Now part of Nelson Mandela Bay. |
| CCO | Uniondale (Western Cape) |
| CCP | Van Rhynsdorp & Klawer (Western Cape) Afrikaans: Vanrhynsdorp. |
| CCR | Victoria West, Loxton & Vosburg (Northern Cape) Afrikaans: Victoria-Wes. |
| CCS | Vryburg & Reivilo (North West Province). This district was, in the 1880s, the short-lived Republic of Stellaland. It then became the capital of the colony of British Bechuanaland, and was annexed to the Cape Colony in 1895. |
| CCT | Willowmore (Eastern Cape) |
| CCU | Dordrecht (Eastern Cape) |
| CCV | Butterworth (Eastern Cape) Became part of Transkei and used the code XB (Gcuwa district). |
| CCY | Umtata (Eastern Cape) Now Mthatha. Became capital of Transkei with the code XA. |
| CCZ | Cala (Eastern Cape) Became part of Transkei and used the code XAC (Xalanga district). |
| CCW | Kokstad (now KwaZulu-Natal) When Kokstad, capital of Griqualand East, became part of the Natal Province in 1976, the prefix letter was changed to N: NCW) |
| CCX | Matatiele (in dispute between Eastern Cape and KwaZulu-Natal) When Matatiele, part of Griqualand East, became part of the Natal Province in 1976, the prefix letter was changed to N: NCX) |
| CD | King William's Town (Eastern Cape) "King", as it is known, was the capital of the colony of British Kaffraria. It did not become part of Ciskei, but its satellite township Zwelitsha did, using the code GCJ, which also served Dimbaza and Bisho. Now part of Buffalo City. |
| CDA | Elliot (Eastern Cape) |
| CDB | Engcobo (Eastern Cape) Now Ngcobo. Became part of Transkei and used the code XE. |
| CDC | Idutywa (Eastern Cape) Now Dutywa. Became part of Transkei and used the code XN. |
| CDD | Kentani (Eastern Cape) Became part of Transkei as Centane and used the code XY. |
| CDE | Nqamakwe (Eastern Cape) Became part of Transkei and used the code XAA. |
| CDF | Port St Johns (Eastern Cape) Became part of Transkei and used the code XF (Mzimvubu). |
| CDG | Elliotdale (Eastern Cape) Became part of Transkei and used the code XAD (Xhora). |
| CDH | Mqanduli (Eastern Cape) Became part of Transkei and used the code XAE. |
| CDJ | Bizana (Eastern Cape) Now Mbizana. Became part of Transkei and used the code XAF. |
| CDK | Willowvale (Eastern Cape) Became part of Transkei as Gatyana, code XAG. |
| CDM | Cofimvaba (Eastern Cape) Became part of Transkei, code XD. |
| CDN | Flagstaff (Eastern Cape) Became part of Transkei as Siphaqeni, code XAH. |
| CDL | Maclear (Eastern Cape) |
| CDO | Lusikisiki (Eastern Cape) Became part of Transkei and used the code XC. |
| CDP | Umzimkulu (KwaZulu-Natal) Now Umzimkhulu. Became part of Transkei and used the code XH. Transferred to KwaZulu-Natal in 2006 and uses the code NMZ. |
| CDR | Tabankulu (Eastern Cape) Became part of Transkei and used the code XAB. |
| CDS | Mount Frere (Eastern Cape) Became part of Transkei and used the code XK (KwaBhaca district). |
| CDT | Mount Fletcher (Eastern Cape) Became part of Transkei and used the code XW. |
| CDU | Libode (Eastern Cape) Became part of Transkei and used the code XU. |
| CDV | Qumbu (Eastern Cape) Became part of Transkei and used the code XV. |
| CDW | Mount Ayliff (Eastern Cape) Became part of Transkei as Maxesibeni, code XJ. |
| CDY | Ngqeleni (Eastern Cape) Became part of Transkei and used the code XZ. |
| CDX | Middledrift (Eastern Cape) Became part of Ciskei and used the code GCD. |
| CDZ | Venterstad (Eastern Cape) |
| CE | East London & Gonubie (Eastern Cape) Afrikaans: Oos-Londen. East London was never part of British Kaffraria, being annexed directly to the Cape Colony. Mdantsane, a satellite township to East London, became part of Ciskei and used the code GCE. Now part of Buffalo City. |
| CEA | Moorreesburg (Western Cape) |
| CEB | Kirkwood (Eastern Cape) |
| CEC | Garies (Northern Cape) |
| CED | Hankey (Eastern Cape) |
| CEE | Warrenton (Northern Cape) Was part of Griqualand West. |
| CEF | Whittlesea (Eastern Cape) Became part of Ciskei and used the code GCB (Hewu district). |
| CEG | Heidelberg (Western Cape) |
| CEH | Jamestown (Eastern Cape) |
| CEJ | Lady Grey (Eastern Cape) Became part of Transkei as Cacadu district, code ZR. |
| CEK | Pofadder (Northern Cape) |
| CEL | Noupoort (Northern Cape) Dutch: Naauwpoort. |
| CEM | Hermanus, Gansbaai, Onrus River & Stanford (Western Cape) |
| CEN | Indwe (Eastern Cape) |
| CEO | Grabouw & Elgin (Western Cape) |
| CEP | Sterkstroom (Eastern Cape) |
| CER | Bonnievale (Western Cape) |
| CES | Albertinia (Western Cape) |
| CET | Joubertina (Eastern Cape) |
| CEU | Hartswater & Jan Kempdorp (Northern Cape) Jan Kempdorp was (before 1994) the only town in the country that fell into two provinces: the Cape and the Transvaal. It was treated administratively as being part of the Cape. |
| CEV | Postmasburg & Daniëlskuil (Northern Cape) Was part of British Bechuanaland. |
| CEW | Olifantshoek, Sishen & Kathu (Northern Cape) Was part of British Bechuanaland. |
| CEX | Porterville (Western Cape) |
| CEY | Strand & Gordon's Bay (Western Cape) Now part of Cape Town. |
| CEZ | Williston (Northern Cape) |
| CF | Grahamstown (Eastern Cape) This code is now used for Kuils River. Grahamstown, seat of the Albany district, is now named Makhanda. |
| CFA | Wolseley (Western Cape) |
| CFB | Molteno (Eastern Cape) |
| CFC | Stutterheim (Eastern Cape) Previously part of British Kaffraria. Earlier code CCI. |
| CFD | Alice (Eastern Cape), Victoria East district. Became part of Ciskei and used the code GCA. |
| CFE | Tsolo (Eastern Cape) Became part of Transkei and used the code XO. |
| CFF | Tsomo (Eastern Cape) Became part of Transkei and used the code XAC. |
| CFG | Vredenburg, Saldanha & St Helena Bay (Western Cape) Previously CEI. |
| CFH | Kakamas (Northern Cape) |
| CFJ | Adelaide (Eastern Cape) |
| CFK | Keiskammahoek (Eastern Cape) Previously CDo. Became part of Ciskei and used the code GCC. |
| CFM | Somerset West (Western Cape) Afrikaans: Somerset-Wes. Previously CFm. Now part of Cape Town. |
| CFN | Taung (North West) Historically written as Taungs. Previously CCSo. Was part of British Bechuanaland; became part of Bophuthatswana and used the code YBN. |
| CFO | Keimoes (Northern Cape) Was part of British Bechuanaland. |
| CFP | Velddrif (incorporating Laaiplek; this code previously used for Laaiplek) (Western Cape) |
| CFR | Kuils River, Durbanville, Brackenfell & Kraaifontein (Western Cape) Afrikaans: Kuilsrivier. In the 21st century, the code for Kuils River became CF (previously the code for Grahamstown). Now part of Cape Town. |
| CFS | Groblershoop (Northern Cape) |
| CG | Oudtshoorn (Western Cape) |
| CH | Queenstown (Eastern Cape) Now called Komani. |
| CJ | Paarl & Franschhoek (Western Cape) |
| CK | Malmesbury & Darling (Western Cape) |
| CL | Stellenbosch (Western Cape) |
| CM | De Aar (Northern Cape) Previously CALo. |
| CN | Wellington (Western Cape) Previously CJo. |
| CO | Calitzdorp (Western Cape) |
| CR | Hopefield, Langebaan & Langebaan Road (Western Cape) |
| CS | Bredasdorp & Napier (Western Cape) Previously CAK. |
| CT | Ceres (Western Cape) Previously CAQ. |
| CU | Port Nolloth (Northern Cape) |
| CV | Vredendal (Western Cape) Previously part of Van Rhynsdorp district. |
| CW | Worcester, De Doorns & Touws River (Western Cape) Previously CI. |
| CWB | Walvis Bay (now Namibia) Walvis Bay, although legally part of the Cape Province, was long administered as part of South West Africa and used the SWA registration Wb. In the 1970s South West Africa adopted a new system using codes starting with S; Walvis Bay was SV. CWB was used during the short period when the town and its surrounding territory was returned to the Cape in the 1980s. Afrikaans: Walvisbaai. The German name Walfischbucht was never official, as the town was never part of German South West Africa. |
| CX | Knysna, Sedgefield & Plettenberg Bay (Western Cape) Previously CBI. |
| CY | Bellville, Goodwood, Parow, Durbanville & Kraaifontein (Western Cape) Now part of Cape Town. |
| CZ | Beaufort West (Western Cape) Afrikaans: Beaufort-Wes. Previously CAI. |
| PA | Provincial Administration Used on provincial traffic control and road construction vehicles, among others. |

### Codes obsolete by 1950

Cape Province :
| Registration | Location |
| CAGo | Klipdam (Northern Cape), near Windsorton; now a ghost town. Was part of Griqualand West. |
| CAK | Bredasdorp & Napier (Western Cape) Now CS. |
| CALo | De Aar (Northern Cape) Later CM. |
| CAQ | Ceres (Western Cape) Now CT. |
| CAUo | Adelaide (Eastern Cape) Later CFJ. |
| CAVo | Williston (Northern Cape) Later CEZ. |
| CAI | Beaufort West (Western Cape) Afrikaans: Beaufort-Wes. Now CZ. |
| CBI | Knysna, Sedgefield & Plettenberg Bay (Western Cape) Now CX. |
| CBQ | Molteno (Eastern Cape) Later CFB. |
| CDI | Tsolo (Eastern Cape) Later CFE. |
| CCI | Stutterheim (Eastern Cape) Later CFC. |
| CCQ | Alice (Eastern Cape) Victoria East district. Later CFD. |
| CCSo | Taung (North West) Historically written as Taungs. Later CFN. |
| CDo | Keiskammahoek (Eastern Cape) Later CFK. |
| CDQ | Tsomo (Eastern Cape) Later CFF. |
| CEI | Vredenburg, Saldanha Bay & St Helena Bay (Western Cape) Now CFG. |
| CFm | Somerset West (Western Cape) Afrikaans: Somerset-Wes. Now CFM. |
| CGo | Calitzdorp (Western Cape) Now CO. |
| CHo | Sterkstroom (Eastern Cape) Later CEP. |
| CI | Worcester (Western Cape) Now CW. |
| CJo | Wellington (Western Cape) Now CN. |
| CKo | Hopefield (Western Cape) Now CR. |

## Transvaal Province

Transvaal :
| Registration | Location |
| TA | Benoni (Gauteng) Now part of Ekurhuleni. |
| TAA | Barberton (Mpumalanga) |
| TAB | Bethal (Mpumalanga) |
| TAC | Christiana (North West) |
| TAD | Lichtenburg (North West) |
| TAE | Lydenburg (Mpumalanga) |
| TAF | Zeerust (North West) |
| TAG | Piet Retief (Mpumalanga) |
| TAH | Nylstroom (Limpopo) Now Modimolle. |
| TAI | Wolmaransstad (North West) Obsolete code. |
| TAJ | Louis Trichardt (Limpopo) |
| TAK | Wolmaransstad district (North West) |
| TAL | Pietersburg (Limpopo) Now Polokwane. |
| TAM | Wakkerstroom (Mpumalanga) |
| TAN | Potgietersrus (Limpopo) Now Mokopane. |
| TAO | Ottosdal (North West) |
| TAP | Graskop (Mpumalanga) |
| TAQ | Balfour (Mpumalanga) |
| TAR | Messina (Limpopo) Now Musina. |
| TAS | Delmas (Mpumalanga) |
| TAT | Greylingstad (Mpumalanga) |
| TAU | Fochville (Gauteng) |
| TAV | Hercules (Gauteng) Incorporated into Pretoria in 1948. |
| TAW | Bronkhorstspruit (Gauteng) |
| TAX | Swartruggens (North West) |
| TAY | Randfontein (Gauteng) |
| TAZ | Brits (North West) |
| TB | Boksburg (Gauteng) Now part of Ekurhuleni. |
| TBA | Dullstroom (Mpumalanga) |
| TBB | Leeudoringstad (North West) |
| TBC | Tzaneen (Limpopo) |
| TBD | Duiwelskloof (Limpopo) Now Modjadjiskloof. |
| TBE | Delareyville (North West) |
| TBF | Hendrina (Mpumalanga) |
| TBG | Charl Cilliers (Mpumalanga) |
| TBH | Nelspruit (Mpumalanga) Now Mbombela. |
| TBI | Koster (North West) |
| TBJ | Trichardt (Mpumalanga) |
| TBK | Morgenzon (Mpumalanga) |
| TBL | Machadodorp (Mpumalanga) Now eNtokozweni. |
| TBM | Breyten (Mpumalanga) |
| TBS | Sabie (Mpumalanga) |
| TBZ | Thabazimbi (Limpopo) |
| TC | Carolina (Mpumalanga) |
| TCA | Groblersdal (Limpopo) |
| TCB | Belfast (Mpumalanga) |
| TCC | Coligny (North West) |
| TCD | Kempton Park (Gauteng) Afrikaans: Kemptonpark. |
| TCE | Westonaria (Gauteng) |
| TCO | Carletonville (North West) |
| TCX | Makwassie (North West) |
| TDD | Pilgrim's Rest (Mpumalanga) |
| TDG | Nigel (Gauteng) |
| TDH | White River (Mpumalanga) Afrikaans: Witrivier. |
| TDJ | Leslie (Mpumalanga) |
| TDK | Alberton (Gauteng) Now part of Ekurhuleni. |
| TDL | Edenvale (Gauteng) Now part of Johannesburg. |
| TE | Ermelo (Mpumalanga) |
| TEA | Amsterdam (Mpumalanga) |
| TF | Amersfoort (Mpumalanga) |
| TG | Germiston (Gauteng) Now part of Ekurhuleni. |
| TH | Heidelberg (Gauteng) |
| TJ | Johannesburg (Gauteng) |
| TK | Krugersdorp (Gauteng) Now part of Mogale City. |
| TL | Bloemhof (North West) |
| TLN | Lyttelton (Gauteng) In 1967 the town of Lyttelton was named Verwoerdburg (the township of Lyttelton retained its name). The code TLN was retained until the introduction of the province-wide T registration system. Following the 1994 elections the name Verwoerdburg was dropped and the town was named Centurion, after the cricket stadium near the N1, Centurion Park. The stadium now bears a sponsor's name. |
| TM | Middelburg (Mpumalanga) |
| TN | Ventersdorp (North West) |
| TNS | Naboomspruit (Limpopo) Now Mookgophong. |
| TO | Brakpan (Gauteng) Now part of Ekurhuleni. |
| TON | Meyerton (Gauteng) Now part of Midvaal. |
| TOY | Orkney (North West) |
| TP | Pretoria (Gauteng) Now part of Tshwane. |
| TQ | Standerton (Mpumalanga) |
| TR | Schweizer-Reneke (North West) |
| TRB | Rustenburg (North West) |
| TRG | Randburg (Gauteng) Now part of Johannesburg. |
| TS | Springs (Gauteng) Now part of Ekurhuleni. |
| TSN | Sandton (Gauteng) Now part of Johannesburg. |
| TT | Volksrust (Mpumalanga) |
| TU | Roodepoort (Gauteng) Long known as Roodepoort-Maraisburg; now part of Johannesburg. |
| TV | Vereeniging (Gauteng) |
| TVB | Vanderbijl Park (Gauteng) Afrikaans: Vanderbijlpark. |
| TW | Witbank (Mpumalanga) |
| TWB | Warmbaths (Limpopo) Afrikaans: Warmbad. Now Bela Bela. |
| TX | Potchefstroom (North West) |
| TY | Klerksdorp (North West) |
| TZ | Stilfontein (North West) |
| Province |
| TPA | Transvaal Provincial Administration Used on provincial vehicles. |

### Circa 1975 to 1994

A new numbering scheme had to be introduced in the Transvaal, after the Johannesburg series exceeded the number TJ 999-999 . An alphanumeric system was introduced in this province, which allowed more permutations with fewer characters. The reason given for this change was that it was necessary because the system was computerised, which was an argument only valid for a few years. Despite this, a trend towards centralisation of vehicle registries continued, despite its inconvenience to motorists. The series comprised three letters followed by three numbers and the letter T. All number plates used black text on a yellow background, for example: BCD 123 T .
From this point onward, a Transvaal vehicle's origin could no longer be narrowed down to a specific town or city. However the first letter of the registration indicated the date of first registration of a vehicle, as the sequence grew alphabetically. However, because the Transvaal used codes that coincided with those used in other provinces, traffic officers failed to notice the T at the end, and issued fines to Cape motorists whose registrations matched those of T vehicles passing through the Cape. The use of C and N codes ought to have been barred. O was not used, since the new system avoided the use of vowels.
At this time black text on yellow background became mandatory throughout South Africa so the other three provinces also adopted the new black on yellow number plates, but kept their existing numbering systems. Example: CR 7822. At this stage government plates adopted the same system as Transvaal. Example: BCD 123 M.
Towards 1994 this numbering system for the Transvaal was rapidly running out of permutations. However, in 1994 the four provinces were dissolved and nine new provinces were created. All the new provinces apart from the Western Cape and KwaZulu-Natal adopted the alphanumeric system. Due to public demand at this time, different text colour on white background was also allowed. The different provinces could decide on text colour for their plates. A white background is used in all provinces although some provinces place graphics on this background relevant to their province.
Towards 2012 Gauteng Province (GP) was running out of permutations and had to adopt a new system. This system used two letters, two numbers, two letters and the province indicator GP.

## Natal Province

In many cases the districts of the province took their letters from the place names to determine the letters that are used to identify each region. Almost all of the areas remained unchanged since 1994, the Only province in South Africa not changing number plates or areas since 1994. This pattern does not always hold.
| Natal |
| Registration | Location |
| NA | Harding (Alfred County) |
| NAT | Amanzimtoti |
| NB | Bergville |
| NBA | Babanango |
| NC | Camperdown |
| NCO | Colenso |
| NCW | Kokstad (Since 1976) |
| NCX | Matatiele (Since 1976) |
| ND | Durban |
| NDE | Dundee |
| NDH | Dannhauser |
| NDW | Ndwedwe |
| NE | Estcourt |
| NES | Eshowe Zululand. |
| NF | Msinga (Tugela Ferry) |
| NGL | Glencoe |
| NH | New Hanover |
| NHL | Hlabisa Zululand. |
| NIM | Impendle |
| NIN | Ingwavuma Zululand. |
| NIP | Bulwer Now Polela. |
| NIX | Ixopo |
| NJ | Verulam, Inanda & Tongaat |
| NK | Richmond |
| NKA | Nkandla Zululand. |
| NKK | Kranskop |
| NKR | Ladysmith & Klip River |
| NKU | Ulundi Zululand. |
| NM | Maputo Zululand. |
| NMA | Mahlabatini Zululand. |
| NMG | Magudu |
| NMR | Mooi River & Nottingham Road |
| NN | Newcastle |
| NND | Nongoma Zululand. |
| NO | Melmoth (Mtonjaneni district, Zululand) |
| NP | Pietermaritzburg Capital of Natal. |
| NPN | Pinetown & Cowies Hill. |
| NPP | Paulpietersburg Was part of Nieuwe Republiek; annexed to Natal in 1903 |
| NPS | Port Shepstone (Lower Umzimkulu) |
| NR | Howick & Lions River |
| NRB | Richards Bay Afrikaans: Richardsbaai. Zululand. |
| NS | Louwsburg Now Ngotshe. |
| NT | Stanger (now KwaDukuza) & Ballito (Lower Tugela) |
| NTU | Nqutu In Zululand. Now Nquthu. |
| NU | Queensburgh, New Germany, Waterfall, Hillcrest & Kloof ("Upper Highway") |
| NUB | Ubombo Zululand. |
| NUD | Underberg (Himeville district) |
| NUF | Empangeni (Lower Umfolozi, Zululand) |
| NUL | Umbumbulu |
| NUM | Greytown & Umvoti |
| NUR | Umhlanga Rocks |
| NUT | Utrecht Previously part of the Zuid Afrikaansche Republiek; annexed to Natal in 1903. |
| NUZ | Umlazi |
| NV | Vryheid This town was the capital of the Nieuwe Republiek, then became part of the Zuid Afrikaansche Republiek. It was annexed to Natal in 1903. |
| NW | Weenen |
| NX | Scottburgh & Umzinto (Formerly Alexandra County.) |
| NZ | Mtunzini |
| Provincial & local government |
| NPA | Natal Provincial Administration |
| NPB | Natal Parks Board |
| NDC | Durban Corporation |
| NPC | Pietermaritzburg Corporation |
| NBB | Natal Bantu Affairs administration boards (BAABs) |

## Orange Free State

The town of Sasolburg, where oil is produced out of coal, received the very appropriate prefix OIL.
Orange Free State :
| Registration | Location |
| OA | Bethlehem |
| OAB | Reitz |
| OAF | Kestell |
| OB | Bloemfontein Now part of Mangaung. |
| OBB | Brandfort |
| OBD | Dewetsdorp |
| OBG | Reddersburg |
| OBT | Botshabelo Satellite township of Bloemfontein, adjacent to Thaba Nchu. Now part of Mangaung. |
| OBW | Witsieshoek Phuthaditjhaba, which was the capital of Qwaqwa. |
| OC | Bethulie |
| OCC | Springfontein |
| OD | Boshof |
| ODB | Hertzogville |
| ODD | Dealesville |
| OE | Edenburg |
| OEB | Trompsburg |
| OF | Fauresmith |
| OFB | Jagersfontein |
| OFD | Koffiefontein |
| OFH | Petrusburg |
| OG | Ficksburg |
| OGB | Fouriesburg |
| OH | Frankfort |
| OHB | Villiers |
| OHS | Harrismith |
| OIC | Warden |
| OIL | Sasolburg |
| OJ | Heilbron |
| OK | Hoopstad |
| OKB | Bultfontein |
| OKC | Odendaalsrus |
| OKD | Wesselsbron |
| OKE | Welkom |
| OL | Jacobsdal |
| OM | Kroonstad |
| OMB | Bothaville |
| OMF | Viljoenskroon |
| OMG | Edenville |
| ON | Ladybrand |
| ONB | Hobhouse |
| OND | Clocolan Now Hlohloane. |
| OO | Lindley |
| OOD | Steynsrus |
| OOE | Petrus Steyn |
| OP | Philippolis |
| OQB | Zastron Obsolete code. Later OZ. |
| OR | Senekal |
| ORD | Marquard |
| ORE | Paul Roux |
| ORX | Rouxville |
| OS | Smithfield |
| OU | Vrede |
| OUB | Memel |
| OV | Parys |
| OVB | Vredefort |
| OVE | Koppies |
| OW | Wepener |
| OX | Winburg |
| OXD | Theunissen |
| OXF | Ventersburg |
| OXG | Excelsior & Tweespruit |
| OXH | Hennenman |
| OXV | Virginia |
| OZ | Zastron Previously OQB. |
| Province |
| PAO | Provincial Administration Used on provincial vehicles. |

## Homeland Number Plates

Under apartheid South Africa, each of the homelands had its own department of vehicle licensing.

### Bophuthatswana

* YBA – Molopo, including Mafikeng (now Mahikeng) and the Bophuthatswana capital, Mmabatho.
* YBB – Odi. Previously part of Brits district, code TAZ.
* YBC – Moretele. Previously part of Pretoria district, code TP.
* YBD – Bafokeng & Tlhabane. Previously part of Rustenburg district, code TRB.
* YBE – Ditsobotla. Previously part of Lichtenburg district, code TAB.
* YBF – Mogwase. Previously part of Rustenburg district, code TRB.
* YBG – Lehurutshe. Previously part of Zeerust district, TAF.
* YBH – Tlhaping-Tlharo. Previously Kuruman district (now Kudumane), CBK.
* YBJ – Madikwe. Previously part of Zeerust district, TAF.
* YBK – Thaba Nchu. Previously part of Bloemfontein district, OB.
* YBL – Mankwe. Previously part of Rustenburg district, code TRB.
* YBM – Ganyesa. Previously part of Stellaland (Vryburg), code CCS.
* YBN – Taung. Previously CFN.
* YBX – Mabopane. Previously part of Pretoria district, code TP.
Government:
* YB – Government vehicles
* YBP – Police vehicles
Most of Bophuthatswana was absorbed into North West Province. Thaba Nchu returned to the Free State Province. The half-district Moretele 2 (east of the N1) became part of Mpumalanga.

### Ciskei

* GCA – Alice Previously CFD.
* GCB – Hewu & Whittlesea. Previously CEF.
* GCC – Keiskammahoek Previously CFK.
* GCD – Middledrift Previously CDX.
* GCE – Mdantsane Previously part of the East London district, code CE.
* GCF – Peddie Previously CBW.
* GCH – Mpofu & Seymour. Previously CCH.
* GCJ – Zwelitsha, Bisho (now Bhisho) & Dimbaza. Bisho was the capital of Ciskei; today it is the capital of the Eastern Cape. Previously part of the King William's Town district, code CD.
Government:
* GC – Ciskei government vehicles
* GCP – Ciskei police vehicles
Ciskei became part of the Eastern Cape Province.

### Gazankulu

* GM – Malamulele district. Previously part of Louis Trichardt district (TAJ). Now part of Limpopo province.
* GY – Giyani district. Previously part of Louis Trichardt district (TAJ). Now part of Limpopo province.
* GR – Ritavi district. Previously part of Tzaneen district (TBC). Now part of Limpopo.
* GH – Mhala district. Previously part of White River district (TDH). Now part of Mpumalanga.
* GN - Hlanganani District. Which includes Elim, Bungeni, Majozi, Tiyani, Msengi, Olifantshoek and Rotterdam
Government
* GAZ – Gazankulu government

### Lebowa

* LEB-1-NUMBER/S – Lebowakgomo (capital of Lebowa) & Mankweng (Thabamoopo district) Previously Pietersburg district (TAL).
* LEB-2-NUMBER/S – Schoonoord & surrounds. Previously Groblersdal district (TCA).
* LEB-3-NUMBER/S – Mahwelereng & surrounds (Mokerong District) Previously Potgietersrus district (TAN).
* LEB-4-NUMBER/S – Seshego, Moletji, Matlala & Mashashane. Previously Pietersburg district (TAL).
* LEB-5-NUMBER/S – Mapulaneng (Bushbuckridge). Previously Graskop district (TAP).
* LEB-6-NUMBER/S – Nebo & surrounds. Previously Groblersdal district (TCA).
* LEB-7-NUMBER/S – Tzaneen & Bolobedu surrounds. Previously TBC)
* LEB-8-NUMBER/S – Tzaneen & Lenyenye (Naphuno). Previously TBC.
* LEB-9-NUMBER/S – Praktiseer & surrounds. Previously Lydenburg district (TAE).
* LEB-10-NUMBER/S – Botlokwa & Sekgosese. Previously Pietersburg district (TAL).
* LEB-11-NUMBER/SO – Bochum & surrounds. Previously Pietersburg district (TAL).
* LEB-13-NUMBER/S – Phalaborwa. Previously Graskop district (TAP).
Government
* LG – Lebowa government
* LP – Lebowa police
Lebowa became part of Limpopo Province.

### Qwaqwa

* OBW – private vehicles
* WR – government vehicles
* WRP – police vehicles
The letter W stands for the Witsieshoek district, where Qwaqwa was located. Retained the code OBW from the Orange Free State. It is once more part of the Free State.

### KwaNdebele

* KNK – KwaMhlanga
* KNE – Enkangala
* KNA – Siyabuswa
* KNB – Kwaggafontein
* KNF – Vaalbank (Libangeni)
Government
* KNG – KwaNdebele government
* KNP – KwaNdebele police
KwaNdebele became part of Mpumalanga province.

### Transkei

* XA – Umtata Transkei capital. Today Mthatha, Eastern Cape. Previously CCY.
* XAA – Nqamakwe Previously CDE.
* XAB – Tabankulu Previously CDR.
* XAC – Tsomo Previously CFF.
* XAD – Xhora & Elliotdale. Previously CDG. Now Xora.
* XAE – Mqanduli Previously CDH.
* XAF – Bizana Now Mbizana. Previously CDJ.
* XAG – Gatyana Formerly Willowvale, CDK.
* XAH – Siphaqeni Formerly Flagstaff, CDN.
* XB – Gcuwa (Butterworth district) Previously CCV.
* XC – Lusikisiki Previously CDO.
* XD – Cofimvaba Previously CDM.
* XE – Engcobo Now Ngcobo. Previously CDB.
* XF – Umzimvubu & Port St Johns. Previously CDF.
* XH – Umzimkulu Now Umzimkhulu. Previously CDP; since 2006 part of KwaZulu-Natal, code NMZ.
* XJ – Maxesibeni, previously Mount Ayliff, code CDW.
* XK – KwaBhaca & Mount Frere. Previously CDS.
* XL – Maloti New district at the foot of the Drakensberg range, home to many Sotho-speakers.
* XR – Cacadu (Lady Frere) Previously Glen Grey district, code CAX.
* XN – Idutywa Previously CDC. Now Dutywa.
* XO – Tsolo Previously CFE.
* XS – Xalanga, including Cala (previously CCZ).
* XT – Herschel Previously CBD.
* XU – Libode Previously CDU.
* XV – Qumbu Previously CDV.
* XW – Mount Fletcher. Previously CDT.
* XY – Centane. Previously Kentani, code CCD.
* XZ – Ngqeleni Previously CDY.
Government
* XG – Transkei government
* XGA – Agriculture & Forestry Department
* XGC – Commerce, Industry & Tourism Department
* XGH – Health & Welfare Department
* XGL – Local Government & Land Tenure Department
* XGW – Works & Energy Department
* XM – Transkei army
* XP – Transkei police
* XPT – Transkei traffic police
* XRT – Transkei Road Transport Service
Transkei became part of the Eastern Cape Province, apart from Umzimkhulu, which was transferred to KwaZulu-Natal in 2006.

### Venda

* VD – Dzanani
* VS – Tshitale
* VT – Thohoyandou
* VV – Dzanani, Mutale, Sibasa & Vuwani
Government
* VM – Government vehicles
* VDF – Defence Force
* VP – Police
* VTA – Traffic administration
Venda became part of Limpopo Province.

### Zululand / KwaZulu

* ZG – Government
* ZK – Paramount Chief
* ZP – Police
* Z – private vehicles
* ZAR - Zuid Afrikaanse Boervolk
The colony of Zululand lay to the north of the Tugela River (today Thukela) and was annexed to Natal in 1887. Its tribal territories fell under the Paramount Chief of the amaZulu.
KwaZulu was created to encompass the tribal territories of both Natal and Zululand, and also fell under the Paramount Chief (today the King) of the amaZulu.
In 1994 KwaZulu and Natal were merged as KwaZulu-Natal Province.
Ulundi was the capital of KwaZulu and shared the status of KwaZulu-Natal capital with Pietermaritzburg until 2004.