Le hanfu ( Hans, est le vêtement traditionnel porté par les Hans avant la dynastie Qing. Il est aussi appelé hanzhuang () ou huafu ().
Il diffère de la robe qipao () et de la veste tangzhuang (), habits d’origine mandchoue introduits sous la dynastie Qing, souvent considérés comme les vêtements chinois typiques.
Selon la tradition historique chinoise, le légendaire Empereur Jaune ou ses ministres auraient inventé le hanfu, et sa femme, Leizu, l’élevage du ver à soie. En effet, l'histoire du hanfu, surtout dans les élites, est inséparable de celle de la soie.
Le hanfu antique porté par les hommes des classes supérieures, remontant peut-être à la dynastie Shang, est constitué d'un yi (), tunique resserrée aux poignets allant jusqu'aux genoux et tenue par une large ceinture, ainsi que d'un chang (), étroite jupe allant jusqu'aux chevilles portée avec un bixi (), pan de tissu atteignant les genoux. On employait sans doute le bleu-noir (qing ) et des couleurs primaires vives en raison des techniques de teinture de l'époque.
Durant la dynastie Zhou, qui met l’accent sur les rites, le hanfu prend des formes précises en rapport avec la fonction les occasions officielles. Sous la dynastie Han, le port du hanfu se généralise. C'est d'ailleurs à cette dynastie que le groupe ethnique Han – et son costume, le hanfu – doivent leur nom, mais c'est à partir de la dynastie Song que le terme hanfu apparaitra plus souvent dans les textes, désignant le costume propre aux Han en tant qu’ethnie. Ainsi, l’empereur Jin Taizong d’origine Jurchen (peuple Toungouse à l'origine des Mandchous) interdira son port et imposera la natte mandchoue en 1126, mais l’ordre ne sera pas toujours appliqué.
Durant les dynasties qui suivent les Han, différentes variantes du hanfu apparaissent, comme la jupe montant jusqu’au-dessus de la poitrine, typique de la mode féminine de la dynastie Tang. Les contacts avec la Chine de pays d'Asie de l'Est et du Sud-Est étendent l’influence du Hanfu, sur la base duquel se développent le kimono japonais, le hanbok coréen, l'áo tứ thân vietnamien.