One of the attackers at Istanbul airport "randomly opened fire" in the terminal building before explosions went off, a witness has told Reuters.
Around 50 are believed to be dead in the attack on Istanbul's Ataturk airport.
The witness said two explosions were heard followed by more shooting and a third explosion.
"We came right to international departures and saw the man randomly shooting. He was just firing at anyone coming in front of him. He was wearing all black. His face was not masked. I was 50 metres away from him," said Paul Roos, 77, a South African tourist on his way back to Cape Town with his wife.
"We ducked behind a counter but I stood up and watched him. Two explosions went off shortly after one another. By that time he had stopped shooting," Roos told Reuters.
"He turned around and started coming towards us. He was holding his gun inside his jacket. He looked around anxiously to see if anyone was going to stop him and then went down the escalator ... We heard some more gunfire and then another explosion, and then it was over."
Around 50 people are dead after the attack on Istanbul's Ataturk Airport, senior officials have told AP.
They also said initial indications suggest Islamic State group is behind airport attack.
The "vast majority" of victims were Turkish nationals but foreigners were also among the casualties, an official added.
At least 60 people were injured in the attack.
This is the weapon that is believed to have been used on unsuspecting airport passengers in a terrorist attack on Ataturk airport in Istanbul.
The attackers opened fire on passengers before detonating bombs in the airport on Tuesday evening.
Brussels Airport - which was attacked in March - has said its staffs' thoughts are with the victims of the Ataturk Airport bomb blast.
ITV News Security Editor Rohit Kachroo said suspicion would immediately fall on so-called Islamic State and Kurdish militants.
He explained that this is the biggest airport in the world that has seen a terrorist attack in years, an "ambitious" attack.
He also added that we can expect the death toll to rise.
A British Airways flight that was due to land in Ataturk was turned back and returned to London after the blasts.
It was scheduled to land at 11.40pm local time (9.40 BST), just after the explosions occurred.
A BA spokesman said: "We had one flight to Ataturk airport that has turned around and is coming back to London Gatwick.
"We don't have any other services scheduled today and we will keep the situation under review."
A woman stranded on a plane on the tarmac at Ataturk airport told ITV News that people in her plane are "calm" but also "quite shocked" that this has happened.
Passengers are waiting for more information about what happened and about when they will be allowed to leave the plane. It could be some hours.
A witness has told NBC news that he saw a police officer tackle one of the suicide bombers shortly before he detonated the bomb.