Cantons
Switzerland is federal. Many “how to” steps are the same nationwide, but the exact office, portal and wording can differ by canton - and sometimes by commune.
How to use this directory
If a guide tells you “confirm with your canton/commune”, start here. Open your canton, then look for the section that matches your situation (arrival, registration, civil status, permits, driving, taxes, health). When you find the right official page, keep the link for your records.
Two expats both “move to Switzerland”. One lands in Zurich, one in Geneva. The legal obligation is the same, but the online process and office name can differ. Using the correct canton portal saves days of back-and-forth.
Start with the general overview on ch.ch, then open your canton below.
Aargau
Code: AG
Strong e-government portal; commune steps still matter.
Appenzell Innerrhoden
Code: AI
Smaller canton; confirm commune-specific offices.
Appenzell Ausserrhoden
Code: AR
Start with canton portal, then follow local municipality links.
Bern
Code: BE
Large canton; processes vary by municipality.
Basel-Landschaft
Code: BL
Canton portal is reliable for resident services.
Basel-Stadt
Code: BS
City canton; many steps are centralized.
Fribourg
Code: FR
Bilingual context; confirm the page language you need.
Geneva
Code: GE
Large expat population; canton portal is your primary start point.
Glarus
Code: GL
Use canton portal to find commune contact points.
Graubünden
Code: GR
Large canton; many municipalities; verify local steps.
Jura
Code: JU
Use canton portal to locate resident services.
Lucerne
Code: LU
Canton portal is a good starting point for newcomers.
Neuchâtel
Code: NE
French-language primary; confirm the correct service page.
Nidwalden
Code: NW
Smaller canton; commune processes can be decisive.
Obwalden
Code: OW
Smaller canton; confirm local municipality requirements.
St. Gallen
Code: SG
Canton portal is strong; municipality details still apply.
Schaffhausen
Code: SH
Start with canton portal; follow the resident services section.
Solothurn
Code: SO
Canton portal provides guidance; confirm commune offices.
Schwyz
Code: SZ
Municipality level is important; follow canton links.
Thurgau
Code: TG
Use canton portal for official process pages and contacts.
Ticino
Code: TI
Italian-language primary; check for English guidance where available.
Uri
Code: UR
Smaller canton; commune guidance can be essential.
Vaud
Code: VD
Large canton; start with canton portal then municipality pages.
Valais
Code: VS
Bilingual areas; confirm your municipality/region page.
Zug
Code: ZG
High expat density; canton portal is a good reference base.
Zurich
Code: ZH
Zurich-tested default assumptions for this MVP.