The Malayan porcupine ranges from
Nepal through
north-east India (
Arunachal Pradesh,
Sikkim, West Bengal, Manipur, Mizoram, Meghalaya and Nagaland), to
Bangladesh, central and southern
China (Xizang, Hainan, Yunnan, Sichuan, Chongqing, Guizhou, Hunnan, Guangxi, Guangdong, Hong Kong, Fujian, Jianxi, Zhejiang, Shanghai, Jiangsu, Anhui, Henan, Hubei, Shaanxi, Gansu), throughout
Myanmar,
Thailand,
Laos,
Cambodia and
Vietnam, through
Peninsular Malaysia, to
Singapore,
Sumatra (
Indonesia) and throughout
Borneo (
Indonesia,
Malaysia,
Sarawak and
Brunei). It is also present on the island of
Penang, Malaysia. It can be found from sea level to at least 1,300 m above sea level. ==Behaviour and ecology==