A shark has bitten a British tourist, ate his foot and injured another off Australia's northeast coast, emergency officials said.

The tourists were on a swimming trip near Airlie Beach in the famous Whitsunday Passage area when attacked by a shark.

The state rescue service wrote on Twitter that they were taken by helicopter to Mackay Base Hospital, about 950 km north of the state capital Brisbane, and were in critical but stable condition.

"The British tourist ate the shark with his foot and the other suffered serious tears in the leg after the shark attacked them in Whitsunday today."

A Queensland ambulance service said a 28-year-old man had been taken by the Yemeni and the 22-year-old suffered from leg tears.

There have been four shark attacks since September last year in Whitsunday, including one fatal.