For the first seven and a half miles (12.1 km) of the route, Iowa 12 is an unsigned highway.
From here, the highway lies just east of the Big Sioux River, which separates Iowa from South Dakota.
It passes past Stone State Park in northwestern Sioux City and continues northwest towards Westfield.
It turns northeast to enter Westfield, then intersects Iowa Highway 3.
In 1958, it was shortened to its intersection with I-29, but then in 1979, was extended east along I-29 and the newly formed Business Route 20 to end at the new U.S. 20 bypass in eastern Sioux City.