清明节在历史发展中融合了流行于北方地区的寒食节禁火、冷食习俗。传说寒食节是在春秋时代为纪念晋国的忠义之臣介子推而设立的节日,在民间传说中寒食节虽与介子推有关,但寒食起源,并非为纪念介子推,而是沿袭了上古的改火旧习,即如《周礼》所说“仲春以木铎修火禁于国中”。寒食节是流传于我国北方中原一带古代较早的节日,寒食节初为节时,禁烟火、只吃冷食,在后世的发展中逐渐增加了上坟祭扫、秋千、蹴鞠、牵勾、斗鸡等风俗。由于北方寒冷,春三月气温上升正值改火的时节,人们在新火未到之时,要禁止生火。汉代称寒食节为禁烟节,因为这天百姓人家不得举火,到了晚上才由宫中点燃烛火,并将火种传至贵戚重臣家中。据《后汉书》记载,最初的寒食节时间很长,最长的105天,最短的也要近1个月。寒食节期间不得生火,只能生食,对人的健康不利。
从文献记载可知,先秦时期我国北方一些地方已有比较严格的禁火制度,从官方到民间都有改火的习俗。成书于两汉之间的《周礼》即明确记载当时有“司炬”之官,每当仲春季节,气候干燥,不仅人类保存的火种容易引起火灾,而且春雷发生也易引起山火。古人在这个季节往往要进行隆重的祭祀活动,把上一年传下来的火种全部熄灭,即是“禁火”。然后重新钻燧取出新火,作为新一年生产与生活的起点,谓之“改火”。在禁火与改火期间,人们必须准备足够的熟食以冷食度日。由于古代的禁火制度过于残酷和严厉,并不顾各地具体情况,甚至影响到民众的生产和生活。于是,汉代发生了周举在太原一带废除禁火陋俗的事件。汉代的寒食节,很多地方要禁火一个月,到了唐代,寒食节变成三天,分别叫大寒食、官寒食、小寒食。唐朝之后,寒食节逐渐式微。宋元时期,清明节的地位上升到取代寒食节的地位。
清明节还融合了另外一个较早出现的节日—上巳节的习俗内容。上巳节,俗称三月三。上巳节是古代举行“祓除畔浴”活动中最重要的节日,人们结伴去水边沐浴,称为“祓禊”,此后又增加了祭祀宴饮、曲水流觞、郊外游春等内容。上古时代以“干支”纪日,三月上旬的第一个巳日,谓之“上巳”。“上巳”一词最早出现在汉代文献,《周礼》郑玄注:“岁时祓除,如今三月上巳如水上之类。”魏晋以后,上巳节的节期改为阴历三月初三,故又称“重三”或“三月三”。