Updated · 2026-06-05 snapshot of 2026-06-05
Ticino–Como border crossings — live wait times (cross-border guide)
Live status of 12 Ticino–Como crossings, refreshed every 15 minutes during peak hours.
All crossings
| Crossing | Wait minutes | Source |
|---|---|---|
| Chiasso Centro | 1 min | Historical averages — live data unavailable |
| Chiasso Brogeda | 16 min | Historical averages — live data unavailable |
| Chiasso Strada | 18 min | Historical averages — live data unavailable |
| Maslianico Pizzamiglio | 2 min | Historical averages — live data unavailable |
| Maslianico Roggiana | — | Historical averages — live data unavailable |
| Bizzarone Novazzano | 0 min | Historical averages — live data unavailable |
| Ronago Novazzano | 0 min | Historical averages — live data unavailable |
| Crociale dei Mulini | 0 min | Historical averages — live data unavailable |
| Drezzo Pedrinate | 0 min | Historical averages — live data unavailable |
| Lanzo d'Intelvi Arogno | 0 min | Historical averages — live data unavailable |
| Campione d'Italia Bissone | 2 min | Historical averages — live data unavailable |
| Oria Gandria | 1 min | Historical averages — live data unavailable |
The Ticino–Como region groups 12 Ticino–Italy border crossings. This hub shows the live status of each and recommends the one with the shortest wait right now. Keep in mind that commuter peaks concentrate traffic on the main motorway crossings (Chiasso-Brogeda in the Como area, Gaggiolo in the Varese area), while local crossings stay fluid even during heavy commute hours.
This page is regenerated automatically on every deploy (typically 4–8 per day). Live readings come from the same pipeline that powers the site's interactive map and the Guide → Border traffic section in our SPA. For each crossing you get a dedicated page with current data, hourly pattern for today, 30-day weekly pattern, live webcam when available (Brogeda, Stabio, Mendrisio, Chiasso) and FAQs focused on commuter traffic behaviour between Ticino and Italy.
Where the numbers come from and how to use them. The "live" reading in the table is the most recent wait-minutes figure, usually refreshed every 15 minutes during peak windows (06:00–10:00 northbound into Ticino and 16:00–20:00 in the reverse direction). The three sources, in priority order, are: the official BAZG (Swiss Federal Customs) page for camera-monitored crossings, the TomTom Traffic API for the road segments approaching the crossing (~5-minute latency), and a static estimate from historical patterns when the other two are silent. The difference between "live" and "static" is explicit on every crossing page: a yellow banner flags whenever the figure is a fallback estimate rather than a real measurement.
What a wait at the crossing actually costs. For a cross-border worker who clears customs five days a week, every additional 10 minutes of queue is worth on average 35–55 EUR/month of opportunity cost (average net hourly wage in Ticino of CHF 28–34 plus fuel burned at idle). A morning with a 30-minute queue instead of the typical 5 minutes at Brogeda at 06:30 therefore costs about 1.80 EUR of extra fuel plus ~12 EUR of lost time. Choosing the right crossing makes a measurable difference: residents of southern Como gain about 8 minutes by picking Bizzarone–Stabio over Chiasso-Brogeda after 07:00 heading to Lugano; those returning in the evening from Mendrisiotto towards Varese often find Gaggiolo smoother than Stabio after 17:30. Combine these wait times with the day's fuel price and the salary simulator to see next week's net commute cost.
How to choose the right crossing in the Ticino–Como area
The numbers in the Ticino–Como table (12 crossings) are a Firestore snapshot fed by the TomTom cron (GitHub Actions workflow traffic-scheduler.yml), refreshed every 10–15 minutes during peak windows. When you open the page, a small hydration script requests the freshest reading via REST and swaps every "wait minutes" cell — the pill next to the date flips from "snapshot" to "live (Firestore, upd. HH:MM)". If hydration fails (browser offline, aggressive privacy extensions, corporate networks with strict CSP), you keep seeing the build-time snapshot: reload the page or check the console if you suspect a block.
To pick a crossing, weigh three factors in order: (1) travel time from your origin to the exit (Lugano–Brogeda is ~12 minutes via A2; Mendrisio–Stabio is ~6 minutes via E35); (2) live queue time in the table; (3) crossing type — motorway, main road or local. A motorway crossing with a 12-minute queue is almost always faster than a local one with a 4-minute queue, because the main-road exit has lower capacity and the urban segments add another 5–10 minutes. Commuter rule of thumb: use the motorway on weekdays between 06:00 and 09:30 and after 16:00 only if the live queue is below 8 minutes; above 15 minutes, switching to a local crossing like Bizzarone, Stabio or Crociale dei Mulini is almost always worth it.
Table FAQ
What does "snapshot" vs "live" mean in the pill?
The "snapshot of YYYY-MM-DD" pill is the value at the time of the last deploy (4–8 deploys per day). When hydration completes the Firestore read, the pill flips to "live (Firestore, upd. HH:MM)" and the table numbers refresh to the latest measurements (~5-minute latency from the TomTom poll).
Why do some rows stay at "—" after hydration?
Minor crossings without TomTom or BAZG coverage show "—" until enough statistical data accumulates. In that case the value is a historical average over the last 30 days of observations: the crossing detail page shows the yellow "Historical averages" banner to flag that it is an estimate, not a live measurement.
Discover more