...With an estimated 1.5 million ethnic Pashtuns, Karachi hosts one of the largest Pashtun populations in the world.
The population and demographic distribution in Karachi has undergone numerous changes over the past 150 years. Non-governmental and international estimates of Karachi's population run anywhere from 12 million to 18 million – a huge increase over its population in 1947 (400,000). It is estimated that over 90% of its population are migrants from different backgrounds. The city's population is growing at about 5% per year (mainly as a result of rural-urban internal migration), including an estimated 45,000 migrant workers coming to the city every month from different parts of Pakistan.
Before 1947, Karachi had communities of Sindhis, Balochs, Parsis, Hindus, Christian, Jews, Marathis, Goans, Armenians, Chinese, British, Lebanese and Gujaratis. After independence of Pakistan, a large number of Sindhi Hindus and Sindhi Sikhs left the city for Gujarat, Rajasthan, and Punjab and were replaced by Muslim migrants known as Muhajirs. The Muhajirs migrated from different parts of India the majority of them spoke Urdu. Karachi has a cosmopolitan mix of many ethno-linguistic groups from all over Pakistan and refugees from neighboring countries. The Sheedis, the local name for Afro-Pakistanis, trace their roots to African slaves.
After the Indo-Pakistani War of 1971, thousands of Biharis and Bengalis from Bangladesh arrived in the city, followed by Rohingya refugees from Burma, and Asians from Uganda. According to the UNHCR and the local law enforcement, approximately 50,000 registered Afghan refugees live in Karachi. Many other refugees from Iran and Tajikistan have settled in the city. With an estimated 1.5 million ethnic Pashtuns, Karachi hosts one of the largest Pashtun populations in the world.
According to the census of Pakistan 1998, the religious breakdown of the city is as follows: Muslim (96.45%), Christian (2.42%), Hindu (0.86%), Ahmadi (0.17%) and other (0.10%). (Other religious groups include Parsis, Sikhs, Bahai, Jews and Buddhists).
The most commonly spoken language in Karachi is Urdu, the national language. Sindhi, Punjabi, Pashto and Balochi are widely spoken in the city. As per the census of Pakistan 1998, the linguistic distribution of the city is: Urdu (48.52%), Punjabi (13.94%), Pashto (11.42%), Sindhi (7.22%), Balochi (4.34%), Saraiki (2.11%) and other (12.44%). (Other languages mainly include Gujarati and Memoni with smaller populations of Dari, Brahui, Marathi, Makrani, Hindko, Khowar, Burushaski, Arabic and Persian.)