日食发生的原因,是因为月球绕地球公转的过程中,当月亮恰好行至太阳与地球之间,且太阳—月亮—地球几乎在同一直线上时,月球遮蔽阳光,月球影子落在地球上,因而发生日食。
因此,日食发生时间必定在农历初一(朔) ;但因白道(月球绕地球的公转面)与黄道(地球绕太阳的公转面)之间,平均有5°9'的夹角,故并非每逢朔都会发生日食,必须要朔时、且月亮离黄道与白道交点在15.4~18.5度以内时,才会发生日食,这个范围称为「日食限」。
由于月亮绕地球的轨道是椭圆,距离会有远近分别,会因月球远近引起的大小变化,以及在地球上的观测者所在位置不同,使得看到的日食现象不同。