Місто розташоване на відстані[3] близько 65 км на захід від Берна, 31 км на північ від Лозанни.
Грансон має площу[4] 7,9 км², з яких на 24,1% дозволяється будівництво (житлове та будівництво доріг), 65% використовуються в сільськогосподарських цілях, 8,7% зайнято лісами, 2,3% не є продуктивними (річки, льодовики або гори).
2019 року в місті мешкало 3341 особа[4] (+9,9% порівняно з 2010 роком), іноземців було 19,8%. Густота населення становила 426 осіб/км².
За віковим діапазоном населення розподілялося таким чином: 20,4% — особи молодші 20 років, 62,1% — особи у віці 20—64 років, 17,5% — особи у віці 65 років та старші. Було 1471 помешкань (у середньому 2,2 особи в помешканні).
Із загальної кількості 1529 працюючих 9 було зайнятих в первинному секторі, 337 — в обробній промисловості, 1183 — в галузі послуг.