Driving License


Driving License in South Africa – What You Need to Know

driving license

You need to have your own driving license to be able to legally drive in South Africa. Having your own driving license will give you the freedom to be able to move around freely without having to depend on someone else to drive you around. There is a driving license for each category of vehicles. You will need to apply for any of the driving licenses provided you fulfil the requirements.

The following are the various categories of driving licenses in South Africa.


Driving License Code A1:

This category is for a motorcycle (with or without a sidecar) with an engine not exceeding 125cc. To apply for this license you should be 17 years or older on the date of your driving test.


Driving License Code A:

This category is also for a motorcycle (with or without a sidecar) but with an engine exceeding 125cc. To apply for this license you should be 18 years and older on the date of your driving test.


Driving License Code B:

This is a license for a motor vehicle, bus, minibus and goods vehicle with a gross vehicle mass up to 3500kg. You will need to be 18 years or older to apply for a license in this category.


Driving License Code C1:

This category is for a motor vehicle, minibus, bus and goods vehicle with a gross vehicle mass between 3500kg and 16000kg. You have to be 18 years old to apply for a license under this category.


Driving License Code C:

This category is for a motor vehicle, minibus, bus and goods vehicle with a gross vehicle mass more than 16000kg.


Driving License Code EB:

  • Articulated light motor vehicle (light motor vehicle drawing a trailer) with a gross combination mass not more than 3500kg. You will have to be 18 years old to apply for this license.
  • Combination of a motor vehicle with a tare not more than 3500kg and a goods vehicle, bus or minibus with a gross vehicle mass not more than 3500kgs. You will have to be 18 years old to apply for this license.

Driving License Code EC1:

  • Articulated heavy motor vehicle (vehicle with a trailer[s]) with a gross combination mass between 3500kg and 16000kg.
  • Combination of a motor vehicle with a tare between 3500kg and 16500kg, and a goods vehicle, bus or minibus with a gross vehicle mass not more than 3500kg and 16500kg.

You need to be 18 years old to apply for a driving license in either of these two categories.


Driving License Code EC:

This category is for articulated heavy motor vehicles (vehicles drawing a trailer[s]) with a gross combined mass more than 16000kg, or a combination of a goods vehicle or bus exceeding a gross vehicle mass of 16000kg.

These are the various types of driving licenses you can apply for in South Africa. You will need to apply at the nearest driving license test centre (DLTC). You will have to produce the following documents:

  • Your ID (identity document)
  • 4 black and white photographs (you will need to confirm with your local DLTC how many photographs are required)
  • Booking fee
  • Completed application for driving license (form DL1)


×
Proof
Signed Up
[formidable key=optin]
<link rel='stylesheet' id='formidable-css' href='https://passmytest.co.za/wp-content/plugins/formidable/css/formidableforms.css' type='text/css' media='all' /> <div class="frm_forms with_frm_style frm_center_submit frm_style_lead-capture" id="frm_form_23_container" > <form enctype="multipart/form-data" method="post" class="frm-show-form frm_js_validate frm_pro_form frm_ajax_submit " id="form_optin" > <div class="frm_form_fields "> <fieldset> <div class="frm_fields_container"> <input type="hidden" name="frm_action" value="create" /> <input type="hidden" name="form_id" value="23" /> <input type="hidden" name="frm_hide_fields_23" id="frm_hide_fields_23" value="" /> <input type="hidden" name="form_key" value="optin" /> <input type="hidden" name="item_meta[0]" value="" /> <input type="hidden" id="frm_submit_entry_23" name="frm_submit_entry_23" value="5589a66446" /><input type="hidden" name="_wp_http_referer" value="/driving_license/" /><label for="frm_verify_23" class="frm_screen_reader frm_hidden">If you are human, leave this field blank.</label> <input type="text" class="frm_hidden frm_verify" id="frm_verify_23" name="frm_verify" value="" /> <div id="frm_field_261_container" class="frm_form_field form-field frm_required_field frm_none_container"> <label for="field_optin-fname" class="frm_primary_label">Name <span class="frm_required"></span> </label> <input type="text" id="field_optin-fname" name="item_meta[261]" value="" placeholder="Name" data-reqmsg="This field cannot be blank." aria-required="true" data-invmsg="Name is invalid" /> </div> <div id="frm_field_262_container" class="frm_form_field form-field frm_required_field frm_none_container"> <label for="field_optin-email" class="frm_primary_label">Email Address <span class="frm_required"></span> </label> <input type="email" id="field_optin-email" name="item_meta[262]" value="" placeholder="Email" data-reqmsg="This field cannot be blank." aria-required="true" data-invmsg="Email Address is invalid" /> </div> <input type="hidden" name="item_meta[263]" id="field_optin-country" value="United States" data-frmval="United States" data-invmsg="Country is invalid" /> <input type="hidden" name="item_meta[264]" id="field_optin-city" value="Ashburn" data-frmval="Ashburn" data-invmsg="City is invalid" /> <input type="hidden" name="item_meta[386]" id="field_optin-sourcepage" value="/driving_license/" data-frmval="/driving_license/" data-invmsg="Page Entry Captured is invalid" /> <input type="hidden" name="item_meta[267]" id="field_optin-userid" value="" data-frmval=""/> <div id="frm_field_268_container" class="frm_form_field form-field frm_Please grant me access._container"> <label class="frm_primary_label">Yes, I Want Access! <span class="frm_required"></span> </label> </div> <input type="hidden" name="item_key" value="" /> <div class="frm_submit"> <input type="submit" value="GET IT NOW!" class="om-trigger-conversion" class="frm_final_submit" formnovalidate="formnovalidate" /> <img class="frm_ajax_loading" src="https://passmytest.co.za/wp-content/plugins/formidable/images/ajax_loader.gif" alt="Sending" style="visibility:hidden;" /> </div></div> </fieldset> </div> </form> </div>
[formidable key=optin-mobile]
<div class="frm_forms with_frm_style frm_center_submit frm_style_formidable-style" id="frm_form_30_container" > <form enctype="multipart/form-data" method="post" class="frm-show-form frm_js_validate frm_pro_form " id="form_optin-mobile" > <div class="frm_form_fields "> <fieldset> <div class="frm_fields_container"> <input type="hidden" name="frm_action" value="create" /> <input type="hidden" name="form_id" value="30" /> <input type="hidden" name="frm_hide_fields_30" id="frm_hide_fields_30" value="" /> <input type="hidden" name="form_key" value="optin-mobile" /> <input type="hidden" name="item_meta[0]" value="" /> <input type="hidden" id="frm_submit_entry_30" name="frm_submit_entry_30" value="5589a66446" /><input type="hidden" name="_wp_http_referer" value="/driving_license/" /><label for="frm_verify_30" class="frm_screen_reader frm_hidden">If you are human, leave this field blank.</label> <input type="text" class="frm_hidden frm_verify" id="frm_verify_30" name="frm_verify" value="" /> <div id="frm_field_362_container" class="frm_form_field form-field frm_required_field frm_none_container frm_full frm_capitalize"> <label for="field_optin-fname3" class="frm_primary_label">Name <span class="frm_required">*</span> </label> <input type="text" id="field_optin-fname3" name="item_meta[362]" value="" placeholder="First Name" data-reqmsg="This field cannot be blank." aria-required="true" data-invmsg="Name is invalid" /> </div> <div id="frm_field_363_container" class="frm_form_field form-field frm_required_field frm_none_container frm_full"> <label for="field_optin-email3" class="frm_primary_label">Email Address <span class="frm_required">*</span> </label> <input type="email" id="field_optin-email3" name="item_meta[363]" value="" placeholder="Enter Your Email..." data-reqmsg="This field cannot be blank." aria-required="true" data-invmsg="Email Address is invalid" /> </div> <input type="hidden" name="item_meta[364]" id="field_optin-country3" value="United States" data-frmval="United States" data-invmsg="Country is invalid" /> <input type="hidden" name="item_meta[365]" id="field_optin-city3" value="Ashburn" data-frmval="Ashburn" data-invmsg="City is invalid" /> <input type="hidden" name="item_meta[366]" id="field_optin-latitude3" value="39.0481" data-frmval="39.0481" data-invmsg="Latitude is invalid" /> <input type="hidden" name="item_meta[367]" id="field_optin-longitude3" value="-77.4728" data-frmval="-77.4728" data-invmsg="Longitude is invalid" /> <input type="hidden" name="item_meta[368]" id="field_optin-userid3" value="" data-frmval=""/> <div id="frm_field_369_container" class="frm_form_field form-field frm_Please grant me access._container"> <label class="frm_primary_label">Yes, I Want Access! <span class="frm_required"></span> </label> </div> <input type="hidden" name="item_key" value="" /> <div class="frm_submit"> <input type="submit" value="GET IT NOW!" class="om-trigger-conversion" class="frm_final_submit" formnovalidate="formnovalidate" /> <img class="frm_ajax_loading" src="https://passmytest.co.za/wp-content/plugins/formidable/images/ajax_loader.gif" alt="Sending" style="visibility:hidden;" /> </div></div> </fieldset> </div> </form> </div>
[formidable key=optin-slidein]
<div class="frm_forms with_frm_style frm_center_submit frm_style_formidable-style" id="frm_form_29_container" > <form enctype="multipart/form-data" method="post" class="frm-show-form frm_js_validate frm_pro_form " id="form_optin-slidein" > <div class="frm_form_fields "> <fieldset> <div class="frm_fields_container"> <input type="hidden" name="frm_action" value="create" /> <input type="hidden" name="form_id" value="29" /> <input type="hidden" name="frm_hide_fields_29" id="frm_hide_fields_29" value="" /> <input type="hidden" name="form_key" value="optin-slidein" /> <input type="hidden" name="item_meta[0]" value="" /> <input type="hidden" id="frm_submit_entry_29" name="frm_submit_entry_29" value="5589a66446" /><input type="hidden" name="_wp_http_referer" value="/driving_license/" /><label for="frm_verify_29" class="frm_screen_reader frm_hidden">If you are human, leave this field blank.</label> <input type="text" class="frm_hidden frm_verify" id="frm_verify_29" name="frm_verify" value="" /> <div id="frm_field_354_container" class="frm_form_field form-field frm_required_field frm_none_container frm_full frm_capitalize"> <label for="field_optin-fname2" class="frm_primary_label">Name <span class="frm_required">*</span> </label> <input type="text" id="field_optin-fname2" name="item_meta[354]" value="" placeholder="First Name" data-reqmsg="This field cannot be blank." aria-required="true" data-invmsg="Name is invalid" /> </div> <div id="frm_field_355_container" class="frm_form_field form-field frm_required_field frm_none_container frm_full"> <label for="field_optin-email2" class="frm_primary_label">Email Address <span class="frm_required">*</span> </label> <input type="email" id="field_optin-email2" name="item_meta[355]" value="" placeholder="Enter Your Email..." data-reqmsg="This field cannot be blank." aria-required="true" data-invmsg="Email Address is invalid" /> </div> <input type="hidden" name="item_meta[356]" id="field_optin-country2" value="United States" data-frmval="United States" data-invmsg="Country is invalid" /> <input type="hidden" name="item_meta[357]" id="field_optin-city2" value="Ashburn" data-frmval="Ashburn" data-invmsg="City is invalid" /> <input type="hidden" name="item_meta[358]" id="field_optin-latitude2" value="39.0481" data-frmval="39.0481" data-invmsg="Latitude is invalid" /> <input type="hidden" name="item_meta[359]" id="field_optin-longitude2" value="-77.4728" data-frmval="-77.4728" data-invmsg="Longitude is invalid" /> <input type="hidden" name="item_meta[360]" id="field_optin-userid2" value="" data-frmval=""/> <div id="frm_field_361_container" class="frm_form_field form-field frm_Please grant me access._container"> <label class="frm_primary_label">Yes, I Want Access! <span class="frm_required"></span> </label> </div> <input type="hidden" name="item_key" value="" /> <div class="frm_submit"> <input type="submit" value="GET IT NOW!" class="om-trigger-conversion" class="frm_final_submit" formnovalidate="formnovalidate" /> <img class="frm_ajax_loading" src="https://passmytest.co.za/wp-content/plugins/formidable/images/ajax_loader.gif" alt="Sending" style="visibility:hidden;" /> </div></div> </fieldset> </div> </form> </div>