1. Faktor Alam
Curah hujan yang tinggi merupakan hujan yang terus-menerus dan intensitas tinggi dapat menyebabkan air meluap dari sungai, danau, atau saluran air.
Permukaan tanah yang tidak mampu menyerap air merupakan tanah yang jenuh air atau memiliki daya serap rendah, seperti di daerah dengan tanah liat, meningkatkan risiko banjir.
Topografi daerah merupakan wilayah dataran rendah atau cekungan cenderung lebih mudah tergenang air.
Peningkatan luka air laut merupakan fenomena pasang laut tinggi, terutama di daerah pesisir, dapat menyebabkan banjir rob.
2. Aktivitas Manusia
Penggundulan hutan merupakan hilangnya hutan mengurangi kemampuan tanah menyerap air, sehingga meningkatkan aliran air permukaan.
Urbanisasi merupakan pembangunan yang masif mengurangi lahan resapan air, seperti penggunaan beton dan aspal.
Sampah yang menyumbat saluran air merupakan sampah yang dibuang sembarangan menyumbat selokan atau sungai, menyebabkan air meluap.
Pengelolaan sungai yang buruk merupakan pendangkalan sungai akibat sedimentasi atau pengurangan kapasitas sungai karena reklamasi dapat menyebabkan banjir.
Pemanasan global merupakan perubahan iklim meningkatkan frekuensi hujan ekstrem dan mencairkan es di kutub, yang dapat menyebabkan kenaikan permukaan air laut.