Canadians are expected to be able to smoke cannabis legally by July 1, 2018.
Prime minister Justin Trudeau's Liberal government will introduce legislation to legalise recreational cannabis on the week of April 10, and officials expect it to be law by July next year, an official said.
Mr Trudeau has long promised to legalise recreational cannabis use and sales.
Canada would be the largest developed country to end a nationwide prohibition of recreational cannabis.
In the US, voters in California, Massachusetts, Maine and Nevada voted last year to approve the recreational use of the drug, joining Colorado, Washington, Oregon and Alaska.
Uruguay in South America is the only nation to have legalised recreational cannabis.