A double-decker bus carrying Christmas shoppers, commuters and students has crashed into a railway bridge in Swansea, slicing off part of the roof and injuring eight passengers.

The bus is thought to have had more than 30 passengers onboard when it hit a low bridge at 10.15am. The top deck was crumpled and a section of the roof appears to have been thrown on to the railway line above the bridge.

One person was airlifted to hospital with life-threatening injuries. A 63-year-old man was arrested at the scene.

Tom Evans, who works nearby, said it looked like “a tin opener had taken the top of the bus off”. He added: “I heard it and went out. Police were there quickly, cordoning it off. It’s now a no-go area.”

Passengers were led off the trapped vehicle and treated in a nearby social club.

The bus, operated by First Cymru, had been diverted from its normal five-mile route between two university campuses by roadworks. As well as students it also carries passengers heading into the city centre.

Andrew Sherrington, the managing director of First Cymru, said: “We can confirm one of our vehicles operating service 10 between Swansea University Singleton Campus and Swansea Bay University Campus has been involved in a collision with a bridge, which has resulted in a number of passengers sustaining injuries.

“We’ve immediately dispatched a support team and launched a full investigation to establish the circumstances that has led to this collision, and are assisting South Wales police with their enquiries.

“Everyone at First Cymru is shocked by this incident and our heartfelt sympathies go out to those injured. The service was off its normal route due to a temporary road closure.”

Alistair Hawkes, 22, a computer science student who was on the bus, said: “It was a shocking moment for me, because I usually sit at the front of the bus and I could have been dead.

“I was reading on my phone when there was a sudden stop, and I was thrown forward.

“There was a crunching of glass, and I think there were about five people bleeding, and three who seemed hurt. One woman who was at the front towards the left seemed to be bleeding heavily. I think she may have had to have been cut free.”

Ambulance officials have not disclosed how many people were injured. A spokesman said multiple crews were at the scene, including air ambulances.

Terry Edkins, the secretary of Landore social club, said: “We can just see the roof of the bus on the railway line and loads of police and emergency services in the area.

“We’ve got about 20 of the passengers in the club. They are OK, just a little bit shaken up, so we’ve given them all coffee and things and just hoping that everyone is OK. It’s never happened before. There’s never been a double-decker coming down there.”

A spokesman for South Wales police said: “We and our fellow emergency services are currently in attendance at a road traffic collision involving a bus and a bridge in Neath Road, Swansea. We are asking motorists to avoid the area while this incident is ongoing.”

Some rail services have been cancelled or replaced with buses and passengers have been asked to check before they travel.

A Transport for Wales spokesman said: “Due to an incident where a vehicle has struck a railway bridge, services in and out of Swansea station are severely disrupted until further notice. Replacement road transport is being sourced and therefore customers are strongly advised to check their journey details before they travel.”