Gilbert's honeyeater is found in the southwest corner of Western Australia, where it ranges from Moora in the north, through the Jarrah forest belt to Broomehill, the Stirling Range and along the coast to Stokes Inlet. It inhabits dry sclerophyll forests dominated by jarrah (Eucalyptus marginata), karri (E. diversicolor) or marri (Corymbia calophylla) inland, tuart (E. gomphocephala), flooded gum (E. rudis) or narrow-leaved paperbark (Melaleuca laxiflora) on the coastal plain, or wandoo (E. wandoo) woodland. Gilbert's honeyeater is generally sedentary or locally nomadic; birds on the Swan Coastal Plain generally move little. The species has become less common on the Swan Coastal Plain, and vanished from Kellerberrin.