Hundreds of thousands of mackerel and pilchard have covered a beach in Cornwall "as far as the eye can see", witnesses have said.

The fish were washed up on Saturday (17 December) night on the beach at Marazion at St Michael's Mount in the south-west of Cornwall.

Katrina Slack had gone down to the beach to take pictures of starlings early on Sunday morning, but ended up photographing the mass of dead fish instead.

"I was astonished. It was almost as if the waves were made up of thousands of shimmering fish," she told the Plymouth Herald.

Slack said that as well as the fish, she found a dead dolphin rotting on the beach.

"The closer I got I realised the beach was just covered in dead fish and more and more were coming in with every wave. It was a horrible but breath-taking scene."

Other people on the beach were also puzzled, Slack said, particularly because the dead fish were not attracting gulls.

Slack's husband Shaun Plumb, who also saw the fish, said: "I've never seen anything like it in my life. It's just dead fish as far as the eye can see."

This is the second mass of dead fish on Cornish beaches this month. The first incident occurred on 3 December at Pentewan at St Austell, discovered by dog walker Edward Bol from Mevagissey, who posted images of the beach covered in fish on Twitter.

One possible cause for such events is that it was a bycatch, where fishing trawlers cast off unwanted fish, which sometimes wash up on beaches. Another explanation could be that the fish were attempting to escape large predators and beached themselves.

However, no definitive cause for the blanket of dead fish has been identified so far.