Die Stadt liegt am Fluss Warthe und am Rande des Warthebruchs, rund 80 km nordöstlich von Frankfurt/Oder und 130 km nordwestlich von Posen entfernt. Nördlich und südlich erstrecken sich weitläufige Waldgebiete.