Cross-Border Grocery Shopping France: When It's Worth the Trip in 2026
Yes for cheese, butter, meat and wine — 30% to 50% cheaper. No for branded Swiss-origin goods. The CHF 150 customs limit, the 1 kg meat cap, the cities that make sense, and the simple rule for whether to drive this Saturday or just hit the Aktion at home.

Yes, grocery shopping in France can save a Swiss household 30% to 50% on a comparable basket. No, it is not free money. The CHF 150 tax-free customs limit (halved from CHF 300 on 1 January 2025), plus 1 kg of meat and 1 kg of butter per person per day, plus VAT on everything once you cross the threshold, means the maths only works under specific conditions. This guide gives you the actual savings by category, the customs rules in plain language, and the simple decision rule for whether to drive to Annemasse or Saint-Louis this Saturday or just hit a Migros Aktion at home.
Sources checked: April 2026. Customs rules verified at the Federal Office for Customs and Border Security (BAZG / FOCBS). Price comparisons verified at Carrefour, E.Leclerc, Intermarché, Lidl France and Aldi France versus Migros, Coop, Aldi Suisse, Lidl Schweiz and Denner. Live offers in the Rappn app.
Rappn is the only neutral grocery price comparison app in Switzerland, with no commercial agreements with any retailer.
What actually changed on 1 January 2025
The tax-free customs allowance dropped from CHF 300 per person per day to CHF 150 per person per day. For a family of four travelling together, the household limit is now CHF 600 per day (down from CHF 1,200). The Federal Council kept the standard VAT at 8.1% and the reduced rate at 2.6% for foodstuffs, books, and medicines.
Two practical consequences. First, if you cross the CHF 150 threshold even by one franc, VAT applies to the entire amount, not just the excess. CHF 160 of groceries triggers VAT of CHF 12.96 (160 × 8.1%), not CHF 0.81 on the CHF 10 over the limit. Second, customs clearance at the reduced 2.6% rate (the rate for most groceries) requires either a manned border crossing in person or a written declaration in a "registration box". The QuickZoll app charges the standard 8.1% rate; the reduced 2.6% in-app option is expected from 2026 but not confirmed yet.
The simple practical version: keep a multi-person family shop strictly under CHF 600 total, or split the trip across two days. For a single-person shop, plan for under CHF 150 or accept paying VAT on everything.
What to buy in France (and what to skip)
Where the savings actually live, by category:
| Category | Typical CH price | Typical FR price | Real savings | Customs note |
|---|---|---|---|---|
| Hard cheese (Gruyère, Comté, Emmental) | CHF 22 to 30/kg | EUR 12 to 18/kg | 35% to 50% | No quantity limit, counts to CHF 150 |
| Butter | CHF 17 to 20/kg | EUR 8 to 11/kg | 40% to 55% | 1 kg duty-free per person, then CHF 16/kg duty |
| Beef, pork, poultry | CHF 25 to 50/kg | EUR 8 to 18/kg | 50% to 65% | 1 kg per person, then CHF 17/kg duty |
| Charcuterie | CHF 40 to 70/kg | EUR 15 to 35/kg | 40% to 60% | Counts in the 1 kg meat allowance |
| Wine, table | CHF 8 to 15/bottle | EUR 3 to 8/bottle | 30% to 60% | 5 L duty-free up to 18% alcohol |
| Spirits | CHF 30 to 50/bottle | EUR 15 to 30/bottle | 30% to 50% | 1 L duty-free above 18% alcohol |
| Branded packaged goods (Nutella, cereals) | CHF 6 to 12 | EUR 3 to 6 | 30% to 50% | No quantity limit |
| Fresh fruit and veg | CHF 4 to 10/kg | EUR 2 to 5/kg | 30% to 50% | No quantity limit |
| Detergents, cleaning, toiletries | CHF 8 to 25 | EUR 3 to 12 | 40% to 60% | No quantity limit |
| Fresh fish, seafood | CHF 30 to 60/kg | EUR 15 to 30/kg | 30% to 50% | Verify origin, EU only |
| Coffee, tea, oil | CHF 6 to 25 | EUR 3 to 12 | 30% to 50% | 5 L oil duty-free |
| Milk and yoghurt | CHF 1.50 to 1.85/L | EUR 0.85 to 1.10/L | 35% to 50% | Cream and butter capped at 1 kg/L; plain milk has no duty |
What to skip:
Branded Swiss-origin products (Cailler, Lindt for the Swiss line, Heidi-branded dairy) often cost the same or more in France because of the export markup. M-Budget and Prix Garantie equivalents do not exist; Carrefour Discount and Leclerc Eco+ are not always cheaper than the Swiss budget lines. Bottled water from supermarket private label is cheaper to buy at Aldi/Lidl in Switzerland than to drive across the border for. Fresh bread and pastries do not justify a 30-minute drive for the price difference. The full Swiss-side price ladder sits in the cheapest supermarket in Switzerland.
Where to actually go (border city by city)
The geography matters more than the brand. The closest French supermarket to where you live is almost always the right answer, because the savings get eaten by petrol and time.
From Geneva: Ferney-Voltaire (Carrefour, E.Leclerc, Grand Frais, Intermarché) is 10 minutes from the centre. Annemasse (Géant Casino, Carrefour, Migros France in Etrembières) is 15 minutes from the eastern districts. Saint-Julien-en-Genevois has Carrefour and Intermarché. Most of these are open Sundays from 9 to 12, which Swiss supermarkets are not.
From Basel: Saint-Louis (Carrefour, E.Leclerc) is 5 minutes from the city centre. Mulhouse-area hypermarkets are 25 minutes for a bigger run. Germany (Weil am Rhein, Lörrach) is the bigger competitor here for German speakers, but France is closer for parts of Basel-City.
From Lausanne: the closest meaningful French supermarket is Pontarlier (Carrefour) or Évian (Carrefour Market), both 50 to 70 minutes by car. The economics are weaker; only worth it for monthly bulk runs.
From Neuchâtel and Jura: Pontarlier and Morteau are 30 to 50 minutes. Worth it for monthly runs on meat, wine, and household basics.
From Ticino: France is too far. The relevant cross-border destination is Italy (Como, Varese), covered separately.
Should you drive to France this Saturday, or hit the Aktion in Switzerland?
Rappn shows you this week's Aktion across Migros, Coop, Aldi, Lidl, Denner, Aligro and Otto's. Sometimes a 30% off Coop offer beats the cross-border math. Rappn tells you which week is which.
The honest cross-border maths
Annemasse round trip from Geneva centre: 25 km, 30 minutes each way, roughly CHF 8 in petrol. A typical CHF 130 French basket (just under the customs limit, no VAT) would cost roughly CHF 220 at Coop or Migros for the same items. Net saving: CHF 90, minus CHF 8 petrol, minus an hour of your time. Per visit: CHF 82. Done weekly: CHF 4,260 per year.
The same maths from Lausanne to Pontarlier (140 km round trip, CHF 30 in petrol, 2 hours each way): the basket savings need to clear CHF 100 to make the trip worthwhile, which means a CHF 130 French basket replacing CHF 230+ in Switzerland. Possible for monthly bulk runs on meat, wine, and household goods. Not weekly economics.
The simple rule: cross-border weekly shopping makes sense if you live within 20 minutes of a French supermarket. Beyond that, monthly bulk runs are the right pattern. Beyond 60 minutes, only special-event runs (BBQ supplies, big wine purchase, party catering) make economic sense.
Reclaiming French VAT
You can claim back French TVA (20% on most goods, 5.5% on most foodstuffs) on receipts above EUR 100 per shop, per day. The process: ask the cashier for an export certificate (bordereau de vente à l'exportation), get it stamped at French customs at the border on the way out, then submit for refund either at the store or online via Pablo (the French e-customs system). The refund is typically 12% to 14% of the receipt total after processing fees.
For a CHF 130 French shop that includes EUR 100+ of qualifying goods, this adds back roughly CHF 12 to CHF 18 of savings on top of the price gap. The bordereau process adds 10 to 15 minutes per visit. For weekly shoppers this becomes routine. For occasional visits the time cost may not be worth the recovery, especially if your basket is mostly foodstuffs at the 5.5% TVA rate (where the recovery is small).
The smart weekly setup: use Rappn each week to see Aktion across all 7 Swiss retailers (Migros, Coop, Aldi, Lidl, Denner, Aligro, Otto's). If a Swiss Aktion week has 30%+ off the products you actually buy, stay home. If not, run the cross-border trip. This decision-week-by-week pattern captures both the Swiss promo cycle (where individual items drop 20% to 50%) and the French structural advantage (steady 30% to 50% lower base prices on cheese, meat, and wine). The full breakdown of how to combine the two is in save money on groceries in Switzerland.
Sources checked: .
Why Rappn?
Rappn is the only neutral grocery price comparison app in Switzerland — with no commercial agreements with any retailer. Our comparisons are truly independent.
- 100% free — no subscription, no hidden costs
- Neutral — no commercial agreements with Migros, Coop, Aldi, Lidl, Denner, Aligro, or Otto’s
- Real-time data — prices updated continuously
- +10,000 offers, +3,000 supermarkets, 100% free
Ready to save on groceries?
Scan the code, install Rappn, and start tracking real grocery savings this week. No account required.
Frequently Asked Questions
Is grocery shopping in France from Switzerland still worth it after the customs change?
Yes, for households within 20 to 30 minutes of a French border supermarket, and for purchases under CHF 150 per person. The price gap on hard cheese, butter, meat, wine, and packaged goods is still 30% to 50% after the customs change. The change mostly hurts large bulk shoppers, who now have to split trips across days or persons.
What happens if I bring back more than CHF 150 of groceries?
Swiss VAT applies to the total amount, not the excess. CHF 200 of groceries triggers VAT of CHF 16.20 (8.1% standard rate) or CHF 5.20 (2.6% reduced rate for food), depending on what you declared. Plus duty on excess meat (CHF 17/kg) and butter (CHF 16/kg). Use the QuickZoll app to declare; standard rate of 8.1% is automatic in the app. For the 2.6% reduced rate on food, you currently need a manned border or written declaration.
Is meat really cheaper in France?
By a lot. Beef cuts that retail at CHF 35 to CHF 50/kg in Switzerland sit at EUR 12 to EUR 22/kg in French supermarkets. Whole chickens are 50% to 65% cheaper. Pork is 40% to 60% cheaper. The catch: 1 kg per person per day duty-free, and CHF 17/kg of duty above that. So a single CHF 30 chicken is fine, but a CHF 200 BBQ shop will trigger duty unless split across multiple people.
Are French supermarkets open on Sundays near the Swiss border?
Yes, most are, which is the other reason to plan a cross-border run on Sunday morning. Ferney-Voltaire (Carrefour, Grand Frais, Intermarché), Saint-Genis-Pouilly, and the Annemasse-area shops are open Sundays from 9 to 12 or 9 to 13. Swiss supermarkets, by federal law, are not open Sundays. This matters for emergency or weekly-prep shops that did not happen Saturday.
What is the actual smartest weekly grocery setup near the Swiss-French border?
Use Rappn each week to see Aktion across all 7 Swiss retailers (Migros, Coop, Aldi, Lidl, Denner, Aligro, Otto's). If a Swiss Aktion week has 30%+ off the products you actually buy, stay home. If not, run the cross-border trip. This decision-week-by-week pattern captures both the Swiss promo cycle (where individual items drop 20% to 50%) and the French structural advantage (steady 30% to 50% lower base prices on cheese, meat, and wine).
