出自姬姓的後代。春秋時周文王的姬姓後裔所建的晉國有大夫解張,字張侯,他的子孫用字來做姓氏。其三出自賜姓或他姓、他族改姓。據《讀史方輿紀要》所載,世居雲南的南蠻酋長龍佑那,三國時被蜀相諸葛亮賜姓張。元末蒙古將領伯顏帖木兒,英勇善戰,歸明朝後,被明太祖賜張姓。另有女真族人咎蔔也被明太祖賜姓張。
又據《三國誌·魏誌》所載,魏國大將、晉陽侯張遼,本姓顳,後改為張氏,世居雁門馬邑(今山西朔縣),後成為大姓。還有壹些少數民族改姓張的。如三國時烏桓族中張姓是貴姓;十六國時,後趙政權中,也有許多羯族張姓。另外女真族中顏盞氏、赤盞氏等在明朝時也有改張姓的。