Es originaria del África tropical y de Comoras.
Se encuentra en la costa este de África, desde Etiopía hasta Mozambique, y también en las islas del océano Índico, como las Seychelles y las Maldivas. Es una especie común en hábitats costeros y de manglares.