Carnarvon is an unincorporated community in Sac County, in the U.S. state of Iowa.
A post office was established at Carnarvon in 1888. The community was named after Caernarfon, in Wales, the former hometown of a first settler.
The population was 111 in 1940.