The city is divided into eighteen districts (): Ulm-Mitte, Böfingen, Donaustetten, Donautal, Eggingen, Einsingen, Ermingen, Eselsberg, Gögglingen, Grimmelfingen, Jungingen, Lehr, Mähringen, Oststadt, Söflingen (with Harthausen), Unterweiler, Weststadt, and Wiblingen.
Južno od Donave se ravnice in griči na koncu končajo na severnem robu Alp, ki so približno 100 km oddaljene od Ulma in so vidne iz mesta ob jasnih dneh.