Les calcaires de Beauce, qui constituent le socle du territoire communal, se forment à l'Aquitanien (de - 23 à - d’années). Les marnes et sables de l’Orléanais (), premiers dépôts burdigaliens (de – 20,44 à – d'années) recouvrant les calcaires de Beauce, affleurent sur les flancs de la Lenche et d'un autre cours d'eau perpendiculaire à la Loire. Ces sables sont essentiellement composés de grains de quartz émoussés, accompagnés de feldspaths kaolinisés et friables, de silex à patine noire et de graviers calcaires particulièrement fréquents à la base de la formation. Cette formation est elle-même surmontée par les sables et argiles de Sologne (), datés du Langhien supérieur au Pliocène inférieur, une formation composée de sables (quartz gneissique ou granitique) argileux très grossiers à fins et de lentilles d’argile verte, pure ou sableuse, occupant une partie nord de la commune. Le reste de la commune est constitué d'alluvions, principalement d'alluvions de haute terrasse de la Loire () couvrant une grande part du territoire, datant du Pléistocène (Riss), et des alluvions récentes des lits mineurs (), datant de l'Holocène, dans le lit de la Loire.