The gunman, an employee at the factory, was shot dead, and terrorism is not suspected, police say.
Ten of the wounded were critically injured in the shootings.
The attack comes less than a week after a man was charged with killing six people and wounding two others during a shooting rampage in Michigan.
A number of mass shootings in the US have elevated gun control as a campaign issue in this year’s presidential election.
Local police say the gunman, named as 38-year-old Cedric Ford, began shooting at around 5pm local time in the town of Newton.
Cedric Ford shot a truck driver in the shoulder, and another man in the leg as he drove towards the Excel Industries site where he worked.
The gunman then opened fire in the car park, killing one person, before killing two more people inside the factory site.
Factory employee Martin Espinoza described how the gunman, a colleague who he said usually had a calm demeanor, attempted to shoot him.
The gunman pointed his weapon at Martin Espinoza and pulled the trigger, but the weapon was empty. Martin Espinoza then ran away as the gunman took out a second gun.
Image source: Wikimedia Commons President-elect Donald Trump celebrated his election victory at the Ultimate Fighting…
Millions of voters across the US chose to return Donald Trump to the White House…
Donald Trump declares victory in the US election as he addresses jubilant supporters in Florida.…
Stocks around the world are rising as Donald Trump appears to be on the cusp…
Donald Trump has won Pennsylvania, North Carolina and Georgia and taken a lead over Kamala…
Quincy Jones, the celebrated musician and producer who worked with Michael Jackson, Frank Sinatra, Ray…