If enacted, the move would make Canada one of the largest Western countries to allow widespread use of the drug.
Health Minister Jane Philpott pledged on Wednesday to keep marijuana "out of the hands of children and profits out of the hands of criminals".
Prime Minister Justin Trudeau pushed for legalisation during his campaign.
The announcement coincided with 20 April - an unofficial holiday among cannabis advocates. Hundreds of marijuana users demonstrated outside Parliament in Ottawa on Wednesday.
Medical use of marijuana is already legal in Canada. Some have argued that legal marijuana would reduce stress on Canada's criminal justice system.
"We will work with law enforcement partners to encourage appropriate and proportionate criminal justice measures," Ms Philpott said. "We know it is impossible to arrest our way out of this problem."
However, Gerard Deltell, a legislator from Canada's opposition Conservatives, opposes the change, saying it would harm Canadians' health.
"That's one of the worst things you can do to Canadian youth - to open the door to marijuana," he told Reuters news agency.
Mr Trudeau has named Bill Blair, a former Toronto police chief, as the government's point person on legalisation.
"We control who it's sold to, when it's sold and how it's used," Mr Blair said likening marijuana to how alcohol is regulated. "And organised crime doesn't have the opportunity to profit from it."
He stressed that marijuana would remain illegal in Canada while legislation is being discussed.
Ms Philpott said the exact details of the legislation are still being worked out.
In the US, voters in four states plus the District of Columbia have already legalised the recreational use of the drug in ballot initiatives.
In other parts of the US, however, the drug remains illegal.
The Canadian government will introduce legislation next year that would make the sale of marijuana legal, its health minister has said.