元宵節也叫「上元節」,是起源於道教的「三元說」:正月十五日為上元節,七月十五日為中元節,十月十五日為下元節。主管上、中、下三元的分別為天、地、水三官,天官賜福、地官赦罪、水官解厄。上元是天官的生日,因天官賜福喜樂,於是人們集聚一起,給天官過生日祈福,故上元節要燃燈。
關於元宵節的形成,說法頗多,但一般認為在漢代就初具雛形。漢武帝時,宮中在正月十五要祭祀「太一神」。「太一」也叫「太乙」、「泰一」、「泰乙」,被認為是主宰宇宙一切之神,地位在五帝之上,早在戰國時期人們就已奉祀。
戰國後期楚國辭賦家宋玉的《高唐賦》有「醮諸神,禮泰一」的記載,漢武帝還曾建了太乙廟,奉祀比較隆盛。《史記‧樂書》云:「漢家常以正月上元祭祀太一甘泉,以昏時夜祀,至明而終。」司馬遷創建「太初曆」時,就已將這一天定為重大節日。
另一種說法是漢文帝時為紀念「平呂」而設,平亂之後,眾臣擁立劉恆登基,稱漢文帝。而那平叛的日子正是正月十五,此後每逢正月十五夜晚,漢文帝都要出宮遊玩,與民同樂,並定這天為元宵節。
但與這兩位皇帝相關的說法都沒有在這一夜張燈放花的記載,另有一說才與元宵燃燈的習俗相關。
漢明帝提倡佛法,適逢蔡愔從印度求得佛法歸來,稱印度摩揭陀國每逢正月十五,是參佛的吉日良辰,僧眾瞻仰佛舍利放光,屆時僧眾雲集,頗為可觀。漢明帝為了弘揚佛法,下令正月十五夜在宮中和寺院「燃燈表佛」。此後,元宵放燈的習俗就由原來只在宮廷中舉行而流傳到民間。
可見,元宵節的由來,乃集釋道文化與幾代帝王合力而成,為一完整、文化豐富的習俗。因為在古代,「夜」與「宵」同,「正月」又稱「元月」,漢文帝就將正月十五定為「元宵節」,這一夜就叫「元宵」。