A factory employee killed two other people before fatally shooting himself at a lumber plant near the central Swiss city of Lucerne on Wednesday, local media reported.
Seven people were hurt in the attack, six of them seriously, Swiss daily newspaper Neue Luzerner Zeitung cited police as saying at a news conference.
The gunman, age 42, had worked for a long time for Kronospan, a wood panel manufacturer in the village of Menznau, police said.
What led him to open fire with a handgun as employees were taking a morning break is not yet clear, police said.
Rescuers flew four critically wounded people to two hospitals, air rescue spokeswoman Karine Hoerhager said.
The situation is under control, said Lucerne county police spokesman Urs Wigger, and officers have cordoned off a wide area around the factory.
The incident took place at 9 a.m. in Menznau, about 30 kilometers (19 miles) outside Lucerne. The factory employs 350 people, Neue Luzerner Zeitung said.
Local media reports suggest the plant has had to cut production because of a reduction in the timber harvest.
A spokesman for Kronospan in the United Kingdom said it had limited information about what happened.
"It's a terrible tragedy and our thoughts are with the families of the people who have lost their lives," he said.
Initial reports suggested the number of people killed might be higher. Police have yet to name the two people shot dead by the gunman.
Police have not determined whether the firearm was privately owned or issued by the military, Neue Luzerner Zeitung said.
Ismail Osman, a reporter for the newspaper, told CNNI's Michael Holmes that Switzerland's longstanding tradition of letting citizen-militia keep military-issued weapons has been questioned in recent years.
"It came to a pinnacle about two years ago, when we had a national vote if we should actually continue this tradition or not. An overwhelming majority said 'yes' to continuing that tradition. However, I'm sure the debate will pick up again after today," Osman said.
CNN's Fred Pleitgen, Saskya Vandoorne and Carol Jordan contributed to this report.