It is 146 miles (235 km) long, beginning at an intersection with Iowa Highway 44 in Panora and ending at the Minnesota state line north of Estherville.
[2] However, most of the route on which Iowa 4 is now applied has been in the primary highway system since it was created in 1920.
It continued west and north by passing through Adel and Perry before turning more northerly at Jefferson.
A service bulletin from the IHC in late 1925 listed Iowa 17 would begin in Jefferson and follow the same route to Estherville.
[4] However, maps published the highway commission in 1927 show the route extended south to Adel ending at US 6.
[5] By 1931, it had been extended north to the Minnesota state line along what was then Emmet County Road H (CR H).
[9] As of 2011[update], construction of a new four-lane expressway for US 20 has caused a portion of that route to be rerouted onto Iowa 4.
The expressway begins eastbound at Iowa 4 and extends across the rest of the state to Dubuque.