按照一般的理解,白族先人是源于青藏高原的氐羌民族。由于在迄今6000-5000年前的青藏高原经历了小冰期,气候干燥而冰冷,迫使氐羌民族分批南迁,到达云南。氐羌系统的民族南迁中与云南本地的土著融合分化形成了今天藏缅语族下的各个民族。白族就是其中之一。白族形成不同于其他民族的地方就是受汉文化影响很深。在上古云南分化演进的原始民族中有部分接受汉文化的土著人慢慢坐大,由游牧生产方式改为定居的农业生产,产生了洱海周围的东西洱河蛮等大小部落。在战国时期,于今天大理州弥渡县境内的一个叫白崖的地方产生了一个国家性质的联盟,称为白子国。“白族”的族称“白”即源于此。白子国延续了800多年,后被崛起的南诏取代。在南诏时期,国力强盛,大量与汉文化互动,再加上佛教在南诏中期传入,白族作为一个稳定的民族共同体得以形成。
关于白族的起源,有两种认识:
土著说
土著说认为白族的民族内核是氐羌民族,在吸收汉文化和同化早期来滇的汉人和其他民族的基础上形成的白族。白族语言文化中的汉族成分是外来的,借入的。
外来说
外来说认为白族的民族内核是汉族,或者原始汉族。是古汉人入滇与中原文化隔绝后受周围氐羌民族影响而形成的新民族,属于“蛮化”的汉人。由这个认识得到的推论是白族语言文化中的汉族成分是固有的,而氐羌成分是借入的,外来的。
这两种说法的逻辑前提都是预设的,而且依赖于其他学科的假设。因此真实面貌目前是模糊的。
认为白族自古以来就是本土产生的土著民族。论据在于民族语言部分特征、民间故事比较、历史出土文物和其他史诗。2008年云南剑川海门口发掘出迄今3000多年前的古人类文化遗址,表明白族地区很早就有人类居住,并产生出当时属于云南最早的青铜器文明。
认为白族人是早期入滇汉人土著化形成的族群。论据包括:白语中汉语成分多于藏缅语成分,很多白族人声称祖上是流落发配到云南的汉人。经典的说法是祖先是从南京应天府柳树湾迁徙来的。传说中庄,入滇发生的年代是公元前300年,而根据已故俄罗斯语言学家谢尔盖·斯塔罗斯金的研究,白语与汉语分化的年代上限是公元前160年左右,时间与庄,入滇的史料吻合得很好。这又为外来说提供了证据。
从明朝到1956年白族民族身份得到确立的几百年内,由于文化上的相似和明朝的政治压力双重作用,云南大量的白族人被同化为汉人。现代云南白族除了大理州外,昆明的西山、丘北的马者龙、保山的旧寨相互之间呈不连续分布的事实也反映了这一点。