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