Royalton is located in southwestern Franklin County at (37.880196, -89.113509) [REF].
According to the 2010 census, Royalton has a total area of , of which (or 99.29%) is land and (or 0.71%) is water [REF].