There are over 300 ethnic groups in Indonesia. 95% of those are of Native Indonesian ancestry.
The largest ethnic group in Indonesia is the Javanese who make up about 40% of the total population. The Javanese are concentrated on the island of Java but millions have migrated to other islands throughout the archipelago because of the transmigration program. The Sundanese, Malay, and Madurese are the next largest groups in the country. Many ethnic groups, particularly in Kalimantan and Papua, have only hundreds of members. Most of the local languages belong to Austronesian language family, although a significant number, particularly in Papua, speak Papuan languages. The Tionghoa population makes up a little less than 1% of the total Indonesian population according to the 2000 census. Some of these Indonesians of Chinese descent speak various Chinese dialects, most notably Hokkien and Hakka.
The classification of ethnic groups in Indonesia is not rigid and in some cases unclear due to migrations, cultural and linguistic influences; for example some may consider Bantenese and Cirebonese to be members of Javanese people; however, some others argue that they are different ethnic groups altogether since they have their own distinct dialects. This is the same case with Baduy people that share many cultural similarities with the Sundanese people. An example of hybrid ethnicity is the Betawi people, descended not only from marriages between different peoples in Indonesia but also with Arab, Chinese and Indian migrants since the era of colonial Batavia (Jakarta).