ประเพณีลอยกระทงเป็นประเพณีโบราณของอินเดียที่ประเทศไทยรับเข้ามาปฏิบัติ แต่ไม่ปรากฏหลักฐานชัดเจนว่าทำกันมาตั้งแต่เมื่อไหร่ เท่าที่ปรากฏกล่าวได้ว่ามีมาตั้งแต่สมัยสุโขทัยเป็นราชธานี พระบาทสมเด็จพระจุลจอมเกล้าเจ้าอยู่หัว ทรงสันนิษฐานว่า เดิมทีเดียวเห็นจะเป็นพิธีของพราหมณ์กระทำเพื่อบูชาพระผู้เป็นเจ้าทั้งสาม คือ พระอิศวร พระนารายณ์ และพระพรหม ต่อมาได้ถือตามแนวทางพระพุทธศาสนามีการปล่อยโคมลอยเพื่อบูชาพระบรมสารีริกธาตุพระจุฬามณีในชั้นดาวดึงส์ และลอยกระทงเพื่อบูชารอยพระพุทธบาท ซึ่งประดิษฐาน ณ หาดทรายแม่น้ำนัมมทา (แม่น้ำนัมมทา เป็นแม่น้ำที่คู่ขนานกับทิวเขาวินธัย ไหลลงภาคตะวันตกของอินเดียแบ่งเขตอินเดียออกเป็นภาคเหนือและภาคใต้)
ประเพณีในแต่ละท้องถิ่น
ภาคเหนือ นิยมทำโคมลอย เรียกว่า "ลอยโคม" หรือ "ว่าวลม" หรือ "ว่าวไฟ" ทำจากผ้าบาง ๆ แล้วสุมควันข้างใต้ให้ลอยขึ้นไปในอากาศอย่างบัลลูนประเพณีของชาวเหนือนี้เรียกว่า ยี่เป็ง หมายถึงการทำบุญในวันเพ็ญเดือนยี่ (ซึ่งนับวันตามแบบล้านนา ตรงกับวันเพ็ญเดือนสิบสองในแบบไทย) หรือโคมลอยบนน้ำรูปทรงต่าง ๆ เช่น จังหวัดเชียงใหม่ มีประเพณี"ยี่เป็ง"เชียงใหม่ ในทุก ๆ ปีจะมีการจัดงานขึ้นอย่างยิ่งใหญ่ตระการตา และมีการปล่อยโคมลอยขึ้นเต็มท้องฟ้า จังหวัดลำปาง มีประเพณี"ล่องสะเปา"(สะเปาหมายถึงกระทง) ซึ่งจะมีการประกวดอยู่สองวันด้วยกัน ได้แก่วันแรก"สะเปาน้ำ"จัดขึ้นในแม่น้ำวังและวันที่สองจะมี"สะเปาบก"
ภาคตะวันออกเฉียงเหนือ ในอดีตมีการเรียกประเพณีลอยกระทงในภาคอีสานว่า สิบสองเพ็ง หมายถึงวันเพ็ญเดือนสิบสองซึ่งจะมีเอกลักษณ์แตกต่างกันออกไป
จังหวัดร้อยเอ็ด ถือเป็นตัวแทนจัดงานลอยกระทงของภาคตะวันออกเฉียงเหนือ โดยมีชื่องานประเพณีว่า " สมมาน้ำคืนเพ็ง เส็งประทีป " ตามภาษาถิ่นมีความหมายถึงการขอขมาพระแม่คงคาในคืนวันเพ็ญเดือนสิบสอง
จังหวัดสกลนคร ในอดีตจะมีการลอยกระทงจากกาบกล้วย ลักษณะคล้ายกับการทำปราสาทผึ้งโบราณ เรียกงานนี้ว่าเทศกาลลอยพระประทีปพระราชทาน สิบสองเพ็งไทสกล
นอกจากนี้ในแต่ละท้องถิ่นยังอาจมีประเพณีลอยกระทงที่แตกต่างกันไป และสืบทอดต่อกันเรื่อยมา