TV aerial images showed police commandos arriving in boats as survivors tried to swim to shore.
Others tried to hide in undergrowth, appealing for help through text messages (SMS) from mobile phones, because they feared that calls would give them away.
Start Quote
There is gunfire, I am hiding”
End Quote
Text message received by a father from his daughter on the island
Some of those who caught sight of the gunman described a Norwegian-looking man, tall and blonde, dressed in what appeared to be a police uniform.
Adrian Pracon, an official who attended the event, told Norway's Varden newspaper of "complete panic" among the campers, adding that he had seen four dead bodies.
'Bodies in water'
Anita Bakaas, mother of a teenage girl who survived the ordeal unharmed, told BBC World TV that some 600 people had been camping in tents in woods.
Her daughter, she said, had hidden in a toilet with four other girls for an hour, keeping in contact by text message.
The girl told her mother the shooting had begun after campers were called to a meeting to hear about the bombing in Oslo, which had occurred several hours earlier.
As she hid, people outside the toilet door were being shot and killed, her mother said.
A witness quoted by Norwegian broadcaster NRK said a man in police uniform had called on people to gather round, before opening fire.
The father of a girl attending the summer camp said he had received an SMS that said: "There is gunfire, I am hiding."
"We communicated by SMS," he added. "She told me not to call so as not to give away her hiding place."
Ali Esbati, a Swedish politician of Iranian descent who was at the camp, told the BBC he saw the suspected gunman hours after the shootings began, having been hiding in the woods.
Mr Esbati said that he appeared to be in a police uniform and was holding a rifle.
"I jumped into the water like several other people and moved a few metres away and tried to see if he was coming".
A number of witnesses described how terrified campers jumped into the water to escape the indiscriminate gunfire. But the gunman reportedly fired at people swimming away.
"I saw many dead people," youth camp delegate Elise told the Associated Press news agency. "He first shot people on the island. Afterwards he started shooting people in the water."
She said she hid behind the rock the gunman was standing on: "I could hear his breathing from the top of the rock," she said.
Police say they are scouring the lake for bodies.
Anders Frydenberg, Oslo police, on island attack: "The police are doing everything they can"
Andre Skeie, 26, told Reuters news agency he had seen 20 dead bodies in the water after arriving on his boat to help evacuate people.