Canada has met a self-imposed deadline to accept 25,000 Syrian refugees fleeing their country's civil war, officials said, fulfilling a campaign promise by Prime Minister Justin Trudeau.

"25000 reasons why Canadians should be proud today #WelcomeRefugees," Immigration, Refugees and Citizenship Minister John McCallum tweeted after a charter flight carrying refugees touched down in Montreal on Saturday.

Trudeau had made a campaign pledge to take in 25,000 Syrian refugees from Lebanon, Jordan and Turkey before the end of 2015.

But his Liberal government pushed the target back two months after taking office following elections in October.

Canada has chartered around a hundred flights from Lebanon and Jordan since Trudeau met the first arriving plane in December.

The government's resettlement program will cover costs for more than half the refugees during their first year. Private groups or a combination of both will cover the rest, the country's immigration authorities said.

Syrian refugees will continue to arrive in Canada, albeit at a slower pace.

The country is set to take in some 12,000 more refugees by the end of the year under a program run jointly with the United Nations High Commissioner for Refugees (UNHCR), the immigration authorities said.

Some 250 Canadian cities and towns have taken in refugees so far.

The UNHCR has contacted nearly 70,000 Syrians living in refugee camps in Lebanon and Jordan about emigrating to Canada. Fewer than half said they were interested.

Europe's migrant crisis became a political issue in Canada during last year's election campaign.

Political parties competed over the number of refugees the country should accept after a photograph of the drowned Syrian boy Aylan Kurdi on a Turkish beach captured international attention.