Sylhet ligger på , i den nordøstre region av Bangladesh. Byen har fuktig subtropisk klima, med varme og fuktige somre og forholdsvis kjølige vintre. Byen har monsunklima med en gjennomsnittstemperatur på 23 °C (august–oktober) og laveste gjennemsnittstemperatur på 7 °C (januar). Nesten 80% av den årlige nedbøren på 3 334 mm. kommer mellom mai og september.