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