Canadians are a generous lot and rank third in the world when it comes to donating time and money to charity.
Australia and New Zealand shared first place, the United States tied for fifth, and China is near the bottom, just ahead of last-place Madagascar.
The report, from the British-based Charities Aid Foundation, shows striking variations in charitable behaviour around the world.
For example, it found only four per cent of Lithuanians gave money to charity, compared with 83 per cent of people in Malta.
Sixty-one per cent of people in Turkmenistan did volunteer work, compared with two per cent of Cambodians.
Several of the world's most populous countries are near the bottom of the index, including India in 134th place and Russia in 138th.
In Liberia, only eight per cent of the population give money to charity each month, yet 76 per cent regularly help a stranger — more than any other country.