Perpignan se află în centrul regiunii Roussillon, o veche provincie organizată în jurul unei câmpii agricole. Orașul se află la aproximativ 15 km de Marea Mediterană și la aproximativ 60 km de lanțul muntos Pirinei.
| Perpignan și comunele învecinate |
|  |
Are o suprafață de 68,07 km2 (26,28 sq mi), iar altitudinea medie este de 52 m (171 ft); la primărie, altitudinea este de 40 m (130 ft).
Perpignan se află în valea râului Têt, în câmpia Roussillon, care se învecinează la sud cu Pirineii, la vest cu regiunea Corbières și la est cu Marea Mediterană. Orașul vechi se află pe partea dreaptă a râului Têt, unde se unește râul mic La Basse cu Têt.
Este cel mai sudic dintre marile orașe ale Franței metropolitane (franceză: France métropolitaine).
Orașele Pia și Cabestany fac acum parte din Perpignan, în timp ce Bompas, Saleilles, Canohès, Toulouges, Le Soler, Baho, Saint-Estève și Rivesaltes se află aproape de limitele orașului. Cele mai apropiate orașe sunt Narbonne la nord (65 km), Montpellier spre nord-est (150 km), Barcelona la sud (190 km) și Toulouse la nord-vest (200 km). Distanța până la Paris este de 850 km (528 mi).
Clima
Clima din Perpignan este o climă mediteraneană caldă (clasificarea climatică Köppen Cfa), cu ierni blânde și veri uscate și calde.
Temperatura medie anuală în Perpignan este de 15,6 °C (60,0 °F). Cea mai caldă lună, în medie, este iulie, cu o temperatură medie de 23,9 °C (75,0 °F). Cea mai răcoroasă lună, în medie, este ianuarie, cu o temperatură medie de 8,3 °C (47,0 °F).
Cantitatea medie de precipitații pentru un an în Perpignan este de 584.0 mm (23.0 in). Luna cu cele mai multe precipitații în medie este octombrie, cu 78,7 mm (3,1 in) de precipitații. Luna cu cele mai puține precipitații medii este iulie, cu o medie de 20,3 mm (0,8 in).
| Date climatice pentru Perpignan, Pyrénées-Orientales, Franța |
| Luna | Jan | Feb | Mar | Apr | Mai | Jun | Iulie | Aug | Sep | Octombrie | Noiembrie | Dec | Anul |
| Media zilnică °C (°F) | 8 (46) | 8 (46) | 11 (52) | 13 (55) | 16 (61) | 20 (68) | 23 (73) | 23 (73) | 20 (68) | 16 (61) | 11 (52) | 9 (48) | 15 (59) |
| Precipitații medii mm (inci) | 50 (2.0) | 40 (1.6) | 50 (2.0) | 40 (1.6) | 50 (2.0) | 30 (1.2) | 20 (0.8) | 20 (0.8) | 50 (2.0) | 70 (2.8) | 50 (2.0) | 50 (2.0) | 520 (20.8) |
| Sursa: Weatherbase.com [1] |