Se encuentra en las islas del Índico occidental y central.
Su hábitat natural son los bosques húmedos de tierras bajas y los manglares. Es una especie común en las islas de Madagascar, Seychelles y las Maldivas, donde se encuentra en áreas protegidas como parques nacionales y reservas naturales