The man, a German citizen who had a sport shooting licence, was in detention and would be questioned once his lawyer arrived, local police chief Reiner Moeller said.
"In the house and behind it, six dead people were found, three men aged 36, 65 and 69, and three women aged 36, 56 and 62," Moeller said, adding that two of the dead were the man's parents.
Two others were injured, one of whom remained in critical condition, and two children, aged 12 and 14, were threatened but not physically harmed, he said.
The incident occurred at 12.45 pm local time (1145 GMT) close to a building in the town of Rot am See in the federal state of Baden-Wuerttemberg. Rot am See is located some 135 km (84 miles) southeast of Frankfurt.