Most foreign citizens seeking to enter Canada must have advanced permission to do so. The primary exception pertains to US citizens and foreigners having permanent resident status in Canada. These individuals are allowed to enter Canada with a valid passport or suitable travel document.
Here is the list of countries whose citizens require a visa to enter Canada.
Except for US citizens, citizens from countries that do not require a visa must have Electronic Travel Authorization starting on September 29, 2016. This authorization is obtained online using the Citizenship and Immigration website. Authorization must be obtained before boarding your flight to Canada. For most people it only takes a few minutes but it can take several days if supporting documentation is requested so be sure to apply for travel authorization well in advance of your journey.
You can find the list of countries for which citizens only require electronic travel authorization (rather than a visa) on our Temporary Residency in Canada page.