In the time of the
Kazakh Soviet Socialist Republic (Kazakh SSR), the driver licensing system was part of the all-Union framework of the
Soviet Union. Standard licences were introduced in 1936 under the
State Automobile Inspectorate (GAI) of the
Ministry of Internal Affairs of the USSR, and Kazakhstan did not have its own authority. In 1963, after the Soviet Union joined the
Geneva Convention on Road Traffic, drivers could also receive international permits, though they were uncommon. By the 1970s, the Kazakh SSR used the same categories as the rest of
republics of the Soviet Union — A, B, C, D and E — for motorcycles, cars, trucks, buses and articulated vehicles. After the
collapse of the Soviet Union in 1991, Kazakhstan began to form its own legal framework for road traffic and driver licensing. On 17 April 1995, the country adopted the Law of the Republic of Kazakhstan No. 2200 "On Licensing", which established national procedures for issuing driving licences and replaced the Soviet-era regulations. Administration of licences was placed under the
Ministry of Internal Affairs of the Republic of Kazakhstan, although in practice many procedures initially remained similar to those of the Soviet system. This law was superseded on 11 January 2007 by a new Law "On Licensing" (No. 214-III), which modernized the licensing framework across multiple sectors, including driver licensing. It was later replaced on 16 May 2014 by the Law "On Permits and Notifications" (No. 202-V), which restructured the broader system of state regulation by distinguishing between activities requiring licences, permits, or simple notifications. In 2013, Kazakhstan introduced reforms to bring the driver licence system closer to international standards. New subcategories, such as BE, CE, and DE, were adopted to reflect European classification practices. Licences began to be issued in both
Kazakh and
Russian languages, and the country moved toward modern features such as digital documentation and periodic revalidation of credentials. == Legal framework ==