Where to invest in France? The rental yield rankings.
Postcodes ranked by gross rental yield — official rents (Carte des loyers) set against real sale prices (DVF). No sponsored rankings: public data only, recalculated every day.
An honest reminder: a high yield usually comes with a less liquid market, a greater risk of vacancy and a slower resale. Yield is never the only criterion.
5,117 postcodes ranked (≥ 20 sales/year) — prices 2025, rents 2025. Median gross yield in France: 6.6 %. · 7 / 103
| # | Area | Median price | Rent | Gross yield | Sales/year | Population | Tension |
|---|---|---|---|---|---|---|---|
| 301 | 94700Maisons-Alfort | 6,357 €/m² | 21.5 €/m² | 4.1 % | 94 | 56,799+0.4 % | A bisExtreme |
| 302 | 97436Saint-Leu | 4,678 €/m² | 15.8 €/m² | 4.1 % | 32 | 12,054+0.8 % | B1Tight |
| 303 | 14960Asnelles, Meuvaines | 2,857 €/m² | 9.7 €/m² | 4.1 % | 27 | 1,034+0.5 % | CRelaxed |
| 304 | 22500Kerfot, Paimpol | 2,855 €/m² | 9.7 €/m² | 4.1 % | 88 | 7,983+0.1 % | CRelaxed |
| 305 | 38180Seyssins | 3,710 €/m² | 12.5 €/m² | 4.1 % | 33 | 8,092+1.5 % | B1Tight |
| 306 | 44250Saint-Brevin-les-Pins | 3,549 €/m² | 12.0 €/m² | 4.1 % | 218 | 14,541+1.1 % | B2Moderate |
| 307 | 66650Banyuls-sur-Mer | 3,341 €/m² | 11.3 €/m² | 4.1 % | 53 | 4,496-0.6 % | B2Moderate |
| 308 | 69740Genas | 4,459 €/m² | 15.1 €/m² | 4.1 % | 79 | 13,421+0.9 % | B1Tight |
| 309 | 92140Clamart | 6,696 €/m² | 22.6 €/m² | 4.1 % | 191 | 58,576+1.2 % | A bisExtreme |
| 310 | 94200Ivry-sur-Seine | 5,975 €/m² | 20.2 €/m² | 4.1 % | 43 | 65,064+0.9 % | A bisExtreme |
| 311 | 13450Grans | 4,033 €/m² | 13.7 €/m² | 4.1 % | 37 | 5,489+2.3 % | B1Tight |
| 312 | 13690Graveson | 3,414 €/m² | 11.6 €/m² | 4.1 % | 48 | 4,698+0.1 % | B2Moderate |
| 313 | 13780Cuges-les-Pins, Riboux | 4,464 €/m² | 15.1 €/m² | 4.1 % | 34 | 6,287+2.5 % | B1Tight |
| 314 | 22820Plougrescant | 2,857 €/m² | 9.7 €/m² | 4.1 % | 20 | 1,242+0.1 % | CRelaxed |
| 315 | 56950Crach | 3,506 €/m² | 11.9 €/m² | 4.1 % | 44 | 3,423+0.4 % | B2Moderate |
| 316 | 77780Bourron-Marlotte | 3,365 €/m² | 11.4 €/m² | 4.1 % | 32 | 2,774+0.2 % | B2Moderate |
| 317 | 78400Chatou | 6,670 €/m² | 22.7 €/m² | 4.1 % | 136 | 30,598-0.1 % | A bisExtreme |
| 318 | 83000Toulon | 4,842 €/m² | 16.5 €/m² | 4.1 % | 134 | 59,705+0.9 % | AVery tight |
| 319 | 85630Barbâtre | 3,295 €/m² | 11.2 €/m² | 4.1 % | 54 | 1,824+0.1 % | B1Tight |
| 320 | 07140Chambonas, Gravières | 2,286 €/m² | 7.8 €/m² | 4.1 % | 74 | 6,149+0.8 % | CRelaxed |
| 321 | 13820Ensuès-la-Redonne | 4,990 €/m² | 17.0 €/m² | 4.1 % | 44 | 5,757+0.6 % | AVery tight |
| 322 | 35870Le Minihic-sur-Rance | 3,297 €/m² | 11.2 €/m² | 4.1 % | 26 | 1,524+1.0 % | CRelaxed |
| 323 | 56760Pénestin | 3,102 €/m² | 10.6 €/m² | 4.1 % | 60 | 2,085+1.7 % | B2Moderate |
| 324 | 69009Lyon | 5,150 €/m² | 17.6 €/m² | 4.1 % | 23 | 57,681+0.3 % | AVery tight |
| 325 | 14530Luc-sur-Mer | 3,505 €/m² | 12.0 €/m² | 4.1 % | 52 | 3,275+0.4 % | B2Moderate |
| 326 | 35830Betton | 3,235 €/m² | 11.1 €/m² | 4.1 % | 83 | 12,964+2.2 % | B1Tight |
| 327 | 69230Saint-Genis-Laval | 4,234 €/m² | 14.5 €/m² | 4.1 % | 90 | 21,212+0.1 % | B1Tight |
| 328 | 17000La Rochelle | 4,259 €/m² | 14.6 €/m² | 4.1 % | 516 | 79,851+0.7 % | B1Tight |
| 329 | 56860Séné | 3,712 €/m² | 12.7 €/m² | 4.1 % | 80 | 9,554+0.9 % | B2Moderate |
| 330 | 83430Saint-Mandrier-sur-Mer | 4,950 €/m² | 17.0 €/m² | 4.1 % | 27 | 6,000+0.4 % | AVery tight |
| 331 | 13470Carnoux-en-Provence | 5,301 €/m² | 18.2 €/m² | 4.1 % | 27 | 6,873+0.3 % | AVery tight |
| 332 | 35690Acigné | 3,088 €/m² | 10.6 €/m² | 4.1 % | 37 | 6,874+0.8 % | B1Tight |
| 333 | 54425Pulnoy | 2,482 €/m² | 8.5 €/m² | 4.1 % | 44 | 5,099+1.6 % | B2Moderate |
| 334 | 73210Aime-la-Plagne, La Plagne Tarentaise | 3,323 €/m² | 11.4 €/m² | 4.1 % | 73 | 9,666-0.0 % | CRelaxed |
| 335 | 83250La Londe-les-Maures | 5,074 €/m² | 17.5 €/m² | 4.1 % | 124 | 10,584+2.8 % | AVery tight |
| 336 | 94000Créteil | 5,383 €/m² | 18.5 €/m² | 4.1 % | 72 | 93,397+0.3 % | AVery tight |
| 337 | 06400Cannes | 6,470 €/m² | 22.3 €/m² | 4.1 % | 66 | 37,175+0.1 % | AVery tight |
| 338 | 13420Gémenos | 5,024 €/m² | 17.4 €/m² | 4.1 % | 43 | 6,579+0.7 % | AVery tight |
| 339 | 50400Anctoville-sur-Boscq, Granville | 2,881 €/m² | 10.0 €/m² | 4.1 % | 134 | 15,671-0.4 % | B2Moderate |
| 340 | 92500Rueil-Malmaison | 7,438 €/m² | 25.7 €/m² | 4.1 % | 227 | 82,874+0.5 % | A bisExtreme |
| 341 | 13980Alleins | 3,465 €/m² | 12.0 €/m² | 4.2 % | 26 | 2,852+1.6 % | B2Moderate |
| 342 | 20214Calenzana, Moncale | 3,583 €/m² | 12.4 €/m² | 4.2 % | 25 | 2,423+1.2 % | B1Tight |
| 343 | 30420Calvisson | 3,007 €/m² | 10.4 €/m² | 4.2 % | 78 | 6,486+2.2 % | B1Tight |
| 344 | 37000Tours | 3,712 €/m² | 12.8 €/m² | 4.2 % | 272 | 46,420+0.3 % | B1Tight |
| 345 | 83140Six-Fours-les-Plages | 4,956 €/m² | 17.1 €/m² | 4.2 % | 313 | 37,109+1.1 % | AVery tight |
| 346 | 84460Cheval-Blanc | 3,277 €/m² | 11.3 €/m² | 4.2 % | 32 | 4,362+0.7 % | B1Tight |
| 347 | 85340L'Île-d'Olonne, Les Sables-d'Olonne | 3,396 €/m² | 11.8 €/m² | 4.2 % | 250 | 19,336+1.4 % | B1Tight |
| 348 | 85550La Barre-de-Monts | 3,023 €/m² | 10.5 €/m² | 4.2 % | 56 | 2,367+0.9 % | B2Moderate |
| 349 | 94340Joinville-le-Pont | 6,666 €/m² | 23.1 €/m² | 4.2 % | 59 | 20,525+1.2 % | A bisExtreme |
| 350 | 05130Fouillouse, Jarjayes | 2,870 €/m² | 10.0 €/m² | 4.2 % | 43 | 5,042+1.3 % | CRelaxed |
Comparing two areas?
Prices, trend since 2014, rents and yield side by side.
Open the neighbourhood comparatorGot a specific property in mind?
Net yield, cash flow with a mortgage and long-term projection — free.
Calculate the net yieldGross yield = median annual rent ÷ median purchase price, by postcode (house). Postcodes with fewer than 20 sales/year excluded; yields above 13 % filtered out (likely data anomalies). This is not investment advice.
INSEE population aggregated to the postcode (Lyon/Marseille split by arrondissement, approximate).
Market tension = how sought-after housing is here (more buyers/tenants than available properties). It is the government's official zonage ABC. The tighter it is, the faster a property lets and resells. Scale: A bis (extreme) → A (very tight) → B1 (tight) → B2 (moderate) → C (relaxed).