At least seven people have died after a boat carrying more than 30 migrants hit rocks close to a small port on the Canary Island of Lanzarote, Spanish rescue services have said.

The boat was one of 12 intercepted in the islands' waters overnight. Some 300 people were rescued in the other boats but one died later.

The Canary Islands emergency service said the Lanzarote boat crashed into pier rocks and overturned in the Orzola area on the north of the island on Tuesday.

Video images showed rescue workers pulling young men in T-shirts from the water in the dark and other migrants sitting on the rocks.

The emergency service said seven bodies from the boat were found overnight.

In the other incidents, the national rescue service and Civil Guard rescued some 300 people, including women and children, arriving in 11 boats. One person died.

The services said many of the migrants were from north-west African countries and had set sail from Morocco several days ago.

Many of the rescued were taken to the Arguineguin dock on the south-western coast of Gran Canaria, where several thousand people of different origins are being kept, some in tents.

Spain has promised to set up more tents to accommodate the people arriving.

More than 18,000 people fleeing poverty, violence or other circumstances have arrived in Spain's Canary Islands this year, a 1,000% increase from the same period in 2019.

More than 500 have died in the attempt. Around half of the arrivals - and most of the deaths - have been in the past 30 days.